微擎开发脚手架示例
方便微擎模块开发
clone当前项目后,将/Core目录复制放入开发模块中。
修改site.php:
//site.php
defined('IN_IA') or exit('Access Denied');
include_once 'Core/Bootstrap.php';
//请注意替换Module_Name_为你的模块名
class Module_Name_ModuleSite extends WeModuleSite
{
function __call($name,$arguments)
{
$config = [];//暂时不用配置
$take = new \Core\common\Take();
$take->yStart($name,$arguments,$config);
}
}
进入开发模块目录创建admin文件夹,在admin目录下创建controller文件夹。
控制器
在admin/controller目录中创建index.js:
//admin/controller/index.php
namespace admin\controller;
use Core\common\Controller;
class index extends Controller
{
public function index()
{
echo 'this is admin@index@index';
}
}
控制器继承自Core\common\Controller。
访问:http://local_url/web/index.php?c=site&a=entry&do=index&m=module_name,将local_url、module_name分别替换为你的访问url和模块名,不出意外就能看到页面输出了。
视图
光是输出字符串肯定是不够的,现在在admin目录下新建view文件夹并写入文件index.html:
开发示例hello world
然后修改admin/controller/index.php中的index()为:
//admin/controller/index.php
//...
public function index()
{
$this->display();
}
再访问就能看到渲染的视图了。如果需要发送变量就调用$this->assign('key','value')就行,在视图上${key}就能拿到变量了。
模型
在一个应用中数据操作是肯定少不了的,还是在admin目录下新建model文件夹并写入test.php:
//admin/model/test.php
namespace admin\model;
use Core\common\Model;
class test extends Model
{
public function test()
{
return $this->table('account')->select();
}
}
所有的模型都继承自Core\common\Model。
修改admin/controller/index.php:
//admin/controller/index.php
//...
public function index()
{
$test = new \admin\model\index();
$result = $test->test();
print_r($result);
}
访问就能看到打印的查询数据了。除了建立模型进行数据操作外还可以用M()方法将上面查询修改为:
$result = M('account')->select();
print_r($result);
模型和M()都支持链式调用,其他的方法有:
where()查询条件(数组)
field()查询字段(数组或字符串)
order()查询排序(字符串)
limit($limit,$end = '')查询限制
find()查询单条
select()查询多条
update($data,$where = [])更新,如果单独调用过where()则会合并where条件
delete($where = [])
insert($data,$table = '')
count($where = [])
query($sql,$params = [])
其他
Core\common\Assist
Assist::globalVal('key');//获取或设置全局变量$_W
Assist::uniacid()//获取当前的uniacid
Assist::gpcVal('key','default_value')//获取$_GPC的值,可以设置默认值
Assist::gMobileUrl()//生成手机端url,也可以直接调用gMobileUrl()
Assist::gWebUrl()//生成后台url,也可以直接调用gWebUrl()
Core\common\Request
Request::params('key','default_value')//获取$_GPC的值
Core\common\Response
Response::img('');//输出图片
Response::json([]);//输出json
Core\common\wechat
$userInfo = Wechat::oauth2();//网页授权
print_r($userInfo);//用户信息
Wechat::assessToken();//当前平台accesstoken
注:更进一步请下载查看示例。