node.js 生成php代码

(1)安装模板引擎ejs 

npm install ejs

(2)node.js代码

const ejs=require('ejs');
const fs=require('fs');
let filename='test.ejs';
let data={className:'site',memberList:['url','title']};
let data2={className:'person',memberList:['name','sex']};
let options={};
ejs.renderFile(filename,data,options,(err,str)=>{
    if(err){
		console.log(err);
	}
	else{
		console.log(str);
		str=str.replace(/\r\n(\s)*\r\n/g,"\r\n");
		console.log(str);
		fs.writeFileSync('test.php',str);
	}
});
ejs.renderFile(filename,data2,options,(err,str)=>{
    if(err){
		console.log(err);
	}
	else{
		console.log(str);
		str=str.replace(/\r\n(\s)*\r\n/g,"\r\n");
		console.log(str);
		fs.writeFileSync('test2.php',str);
	}
});

(3)ejs模板

<?php
class <%= className %> {
  /* 成员变量 */
  <% for(var i=0;i<memberList.length;i++){ %>
  var $<%= memberList[i] %>
  <% } %>
  
  /* 成员函数 */
  <% for(var i=0;i<memberList.length;i++){ %>
  function set<%= memberList[i] %>($par){
     $this-><%= memberList[i] %> = $par;
  }
  
  function get<%= memberList[i] %>(){
     return $this-><%= memberList[i] %>;
  }
  <% } %>
}
?>

(4)生成php文件

test.php

<?php
class site {
  /* 成员变量 */
  var $url
  var $title
  /* 成员函数 */
  function seturl($par){
     $this->url = $par;
  }
  function geturl(){
     return $this->url;
  }
  function settitle($par){
     $this->title = $par;
  }
  function gettitle(){
     return $this->title;
  }
}
?>

test2.php

<?php
class person {
  /* 成员变量 */
  var $name
  var $sex
  /* 成员函数 */
  function setname($par){
     $this->name = $par;
  }
  function getname(){
     return $this->name;
  }
  function setsex($par){
     $this->sex = $par;
  }
  function getsex(){
     return $this->sex;
  }
}
?>

 

转载于:https://my.oschina.net/vcship/blog/1649687

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值