CakePHP初学小记

不定期持续更新学习中.....
主要基于Cakephp 2.x版本进行总结

Cakephp 2.x版本APi

Cakephp命名规范
  • 控制器
控制器的类名是复数,首字母大写, 并且以 Controller 结尾。
例子:UsersController 和 ArticleCategoriesController 。
$this->User  单数
  • 访问控制器URL
单个单词的控制器映射到一个简单的小写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()获取
  • debug打印变量内容信息
检查它里面的数据内容,我们可以通过方法    pr() 或者 debug()
  • Edit编辑功能页面信息提示
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使用
//配置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');
  • Paginator分页
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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,082评论 1 32
  • 天我们去上校本课的时候我弄的是彩泥做的是小猪。我的同学是折的纸。他折了一个东西,很好玩。能吹起来的,带了两个...
    管西彩阅读 226评论 0 1
  • 母亲真的老了,变得孩子般缠人,每次打电话来,总是满怀热忱地问:你什么时候回家? 且不说相隔一千多里路,要转三次车,...
    与世争鸣阅读 400评论 7 3
  • 相信自己,敢跟自己叫板 ——自信是改变自我的决定性力量 “自信是成功的第一秘诀”,世界在自信者的两手间造就...
    简言念君阅读 199评论 0 1
  • While 循环会在指定条件为真时循环执行代码块 如果忘记增加条件中所用变量的值,那这个循环永远不会结束。可能会导...
    任仪凡阅读 146评论 0 0