Skip to content
李铭昕 edited this page Nov 6, 2017 · 2 revisions

注意事项

  • 利用phalcon脚本新建model时,使用phalcon model name --namespace=App\Models --extends=Model --force

  • 【BUG】如果你model里用use加载了其他类库,当你使用官方phalcon工具脚本建立model的时候,会被删除掉。这里可以使用我修改的devtools

  • 利用phalcon脚本新建controller时,使用phalcon controller name --namespace=App\Controllers\SubNamespace

  • 使用模型进行信息存储时,因为模型元数据的问题,非空字段会匹配非空、非空字符串两个条件,致使一些空字符串字段不赋默认非空字符串值的情况下,保存失败![cphalcon v3.0.4 已修改此BUG]

  • 框架默认以文件的方式缓存元数据,一旦表结构被修改,请执行php run system\clear meta yes 清理元数据

  • 控制器中 $this->request->url函数 (url助手函数) 生成的地址 会拼接config中的baseUri 故url('index') 会生成 /index。

  • 控制器中 $this->response->redirect() 会根据当前模块跳转 故redirect('/index') 才会生成 /index。

  • 默认的调度params是按照数组顺序进行对应的。

  • 使用Cli时,因为Windows对大小写不敏感 可以用php run system\clear 但在Linux下 需要使用php run System\\Clear

  • 使用Phalcon 开发工具的时候,需要维护config/config.ini配置文件

  • 使用dispatch forward调度的时候,必须使用return截断控制器。要不然他会走后面的dispatch forward调度。如果使用exit截断,调度则不会执行。

  • 使用任务php run test_test 会转化为 TestTestTask 但是使用php run Test\test_test 会转化为Test\test_testTask

  • 由于Phalcon内部redis引擎的问题,当auth=null时也会调用redis->auth(),故连不上redis服务器。所以暂时redis服务器不支持无密码(个人认为无密码是不对的!!),除非手动修改逻辑。#12736 [cphalcon v3.2.0 已修改此BUG]

  • 当增加新路由规则时需要修改app/config/web/routes.php文件

  • 当增加新的命名空间时需要修改app/config/loader.php自动加载文件

  • app下的一级目录为小写,需要注册命名空间。二级目录为首字母大写,不需要注册命名空间。但命名空间必须与其对应。

  • 因为phalcon扩展框架暂不支持mongoDB扩展,所以如果想使用mongoCollection,需要require phalcon/incubator。

  • 路由匹配规则:倘若有两个路由都符合规则,会有限匹配后面的路由。故,隐性路由要写在显性路由前面。

Clone this wiki locally