CakePHP初学小记

2019-10-09  本文已影响0人  LaputCat
不定期持续更新学习中.....
主要基于Cakephp 2.x版本进行总结

Cakephp 2.x版本APi

Cakephp命名规范
控制器的类名是复数,首字母大写, 并且以 Controller 结尾。
例子:UsersController 和 ArticleCategoriesController 。
$this->User  单数
单个单词的控制器映射到一个简单的小写URL路径。例如 `UsersController` (将是定义在名称为 **UsersController.php** 的文件中)
可以从 
[http:\/\/example.com/项目名/控制器类复数]
(http:\/\/example.com/demo/users) 
注意:
   访问的URL路径是小写并且用 DashedRoute 类来分割。
   因此,/article-categories/view-all 是访问 ArticleCategoriesController::viewAll() 方法的正确方式。
控制器类  LatestArticlesController 将对应文件名 LatestArticlesController.php
组件类   MyHandyComponent 将对应文件名 MyHandyComponent.php
Table 类   OptionValuesTable 将对应文件名 OptionValuesTable.php.
Entity 类    OptionValue 将对应文件名 OptionValue.php.
Behavior 类   EspeciallyFunkableBehavior 将对应文件名 EspeciallyFunkableBehavior.php
视图类   SuperSimpleView 将对应文件名 SuperSimpleView.php
Helper 类   BestEverHelper 将对应文件名 BestEverHelper.php

-数据库表名命名

需与Model层名字对应并且     复数形式并用下划线分割(两个单词以上)
 users, article_categories, 和 user_favorite_pages 等。
单数形式
主要是分两类
Table 类名是复数、首字母大写、以 Table 结尾的。

UsersTable、ArticleCategoriesTable 分别是对应 users、article_categories表的 table 类名。

Entity 类名是单数、首字母大写、无后缀的。
User、ArticleCategory 分别是对应 users、article_categories表的 entity 类名。
视图模板文件使用它对应的控制器方法的名字以下划线形式命名。
ArticlesController 类的 viewAll() 防范将会对应视图模板文件 src/Template/Articles/view_all.ctp。
POST 数据可以通过 $this->request->getData() 获取
GET 数据可以通过 $this->request->query()获取
检查它里面的数据内容,我们可以通过方法    pr() 或者 debug()
2.3版本
 $this->Session->setFlash('edit successfully');
2.10以上版本
 $this->Flash->success(__('Your article has been updated.'));//提示更新成功信息
 $this->Flash->error(__('Unable to update your article.'));//提示更新失败信息
  $this->set(compact('article'));
  $this->set('article', $article); //注入article视图 使用 set() 函数将数据传入模版(将在下部分创建)。CakePHP 将会自动渲染模版。
//配置cookie
$this->Cookie->configKey('User', [
    'expires' => '+10 days',
    'httpOnly' => true
]);
//配置参数如下
expires  path domain  secure   key httpOnly  entryption
//设置cookie值
$this->Cookie->write('name', 'Larry');
$this->Cookie->write('User',
    ['name' => 'Larry', 'role' => 'Lead']
);
$this->Cookie->configKey('User', 'encryption', false);
//读取cookie
$this->Cookie->read('User');
//删除cookie
$this->Cookie->delete('foo.bar');
class ArticlesController extends AppController
{
    public $paginate = [
        'fields' => ['Articles.id', 'Articles.created'],
        'limit' => 25,
        'order' => [
            'Articles.title' => 'asc'
        ]
    ];

    public function initialize()
    {
        parent::initialize();
        $this->loadComponent('Paginator');
    }
}
三部分组成
布局:
布局文件存放在/app/views/layouts 目录中。可以通过创建
/app/views/layouts/default.ctp 文件来覆盖 CakePHP 的默认布局。一旦新的默认布局被创
建,控制器显示的视图代码就会被放到新的布局中去。

元素:重复使用的代码块

助手
window环境下使用cake bake 生成C M V 文件
确定console文件位置
image.png
遇到问题
需要配置系统环境变量
cake bake  和php
配置完成后重新打开命令行--->我使用git bash
运行 php -v看是否正常
image.png
生成对应的数据表MVC文件
image.png
上一篇 下一篇

猜你喜欢

热点阅读