-
Notifications
You must be signed in to change notification settings - Fork 18
FAQ namespace
tolizhan edited this page May 22, 2020
·
2 revisions
- 假如现在有个框架类 of_base_com_str
- 当在一个 php < 5.3 的网络环境下, 只能通过 of_base_com_str 方式调用
- 当在一个 php >= 5.3 的网络环境下, 还可以通过 \of\base\com\str 方式调用
- 当然也支持命名空间下的其它特性, 比如 use 的使用
- 非命名空间模式下, 通过"_"对类名分割确定路径, 如: 类 demo_test 一定在 系统根目录\demo\test.php 中
- 同样的命名空间模式下, 通过"\"对类名分割确定路径, 如: 类 demo\test 也一定在 系统根目录\demo\test.php 中
- 自然 test.php 的写法也要是标准的, namespace demo; class test {}
- 框架内部统一回调方法 of::callFunc 支持包括命名空间在内的不同格式的调用, 如 "demo\test::action" 或 [demo\test, action]
- 那么对应的工具封装也是支持同样方式的, 如 分页列表中的 call 参数
<?php //加载框架唯一入口 require dirname(__FILE__) . '/include/of/of.php';//调度代码, 这里的"c"参数假设是 "demo_test", "a"参数为 "index" if (isset($_GET['c'])) { //将 demo_test 转化成 demo\test 方式 $_GET['c'] = strtr($GET['c'], '', '\'); //直接调用 demo\test 实例中的 index 方法 $result = of::dispatch($_GET['c'], isset($_GET['a']) ? $_GET['a'] : 'index', true); //返回数组转成json if (is_array($result)) echo json_encode($result); }
<?php namespace demo; use of\base\com;//注意在命名空间下使用框架要加"" class test extends \L { /** 描述 : 通过index.php?c=demo_test访问 / function index() { //调用 \of\base\com\str::rc4(1, 2) 加密方法 var_dump(com\str::rc4(1, 2)); //调用 (new \of\base\com\str)->rc4(1, 2) 加密方法 var_dump($this->_str->rc4(1, 2)); } } //安全校验 return true;
手册地址 http://phpof.net/
- 入门指引
-
疑难解答
- 部署时会遇到的那些常见问题
简单却容易忽视 - 框架内置有哪些管理界面
生产模式进入界面需用 __OF_DEBUG__ - 如何定制不同的架构模式
通过配置入口文件中调度方法的参数即可 - 如何面向命名空间开发
of_xx 类可以按照命名空间方式调用 - 如何设置不同的部署模式
通过_of.debug设置 开发,测试,生产 模式 - 为什么控制层类文件要返回true
这是防止非法访问的方法之一 - 为什么传到视图层的变量会被编码
这是因为 XSS 安全防范的原因 - 为什么框架没有SQL构造器
因常规方案牺牲了性能又未很好解决问题 - 如何快速开发用户及权限管理功能
单点登录(SSO)模块因此而存在 - 怎么在系统的基础上扩展底层功能
三点: 扩展开发, 预先加载, 底层钩子 - 怎么使用 Composer 依赖管理工具
框架已集成, 默认关闭状态
- 部署时会遇到的那些常见问题
- 组件使用
- 集成插件
- 扩展开发
- 开发手册