CakePHP初學(xué)小記

不定期持續(xù)更新學(xué)習(xí)中.....
主要基于Cakephp 2.x版本進(jìn)行總結(jié)

Cakephp 2.x版本APi

Cakephp命名規(guī)范
  • 控制器
控制器的類名是復(fù)數(shù),首字母大寫, 并且以 Controller 結(jié)尾。
例子:UsersController 和 ArticleCategoriesController 侮叮。
$this->User  單數(shù)
  • 訪問控制器URL
單個(gè)單詞的控制器映射到一個(gè)簡單的小寫URL路徑斤讥。例如 `UsersController` (將是定義在名稱為 **UsersController.php** 的文件中)
可以從 
[http:\/\/example.com/項(xiàng)目名/控制器類復(fù)數(shù)]
(http:\/\/example.com/demo/users) 
注意:
   訪問的URL路徑是小寫并且用 DashedRoute 類來分割芥永。
   因此肛冶,/article-categories/view-all 是訪問 ArticleCategoriesController::viewAll() 方法的正確方式滤奈。
  • 文件名和類名命名
控制器類  LatestArticlesController 將對應(yīng)文件名 LatestArticlesController.php
組件類   MyHandyComponent 將對應(yīng)文件名 MyHandyComponent.php
Table 類   OptionValuesTable 將對應(yīng)文件名 OptionValuesTable.php.
Entity 類    OptionValue 將對應(yīng)文件名 OptionValue.php.
Behavior 類   EspeciallyFunkableBehavior 將對應(yīng)文件名 EspeciallyFunkableBehavior.php
視圖類   SuperSimpleView 將對應(yīng)文件名 SuperSimpleView.php
Helper 類   BestEverHelper 將對應(yīng)文件名 BestEverHelper.php

-數(shù)據(jù)庫表名命名

需與Model層名字對應(yīng)并且     復(fù)數(shù)形式并用下劃線分割(兩個(gè)單詞以上)
 users, article_categories, 和 user_favorite_pages 等哀蘑。
  • 模型層命名
單數(shù)形式
主要是分兩類
Table 類名是復(fù)數(shù)厘贼、首字母大寫界酒、以 Table 結(jié)尾的。

UsersTable嘴秸、ArticleCategoriesTable 分別是對應(yīng) users毁欣、article_categories表的 table 類名。

Entity 類名是單數(shù)赁遗、首字母大寫署辉、無后綴的。
User岩四、ArticleCategory 分別是對應(yīng) users哭尝、article_categories表的 entity 類名。
  • 視圖層命名
視圖模板文件使用它對應(yīng)的控制器方法的名字以下劃線形式命名剖煌。
ArticlesController 類的 viewAll() 防范將會(huì)對應(yīng)視圖模板文件 src/Template/Articles/view_all.ctp材鹦。
  • 請求方式與獲取
POST 數(shù)據(jù)可以通過 $this->request->getData() 獲取
GET 數(shù)據(jù)可以通過 $this->request->query()獲取
  • debug打印變量內(nèi)容信息
檢查它里面的數(shù)據(jù)內(nèi)容,我們可以通過方法    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() 函數(shù)將數(shù)據(jù)傳入模版(將在下部分創(chuàng)建)耕姊。CakePHP 將會(huì)自動(dòng)渲染模版桶唐。
  • cookie使用
//配置cookie
$this->Cookie->configKey('User', [
    'expires' => '+10 days',
    'httpOnly' => true
]);
//配置參數(shù)如下
expires  path domain  secure   key httpOnly  entryption
//設(shè)置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 目錄中≤岳迹可以通過創(chuàng)建
/app/views/layouts/default.ctp 文件來覆蓋 CakePHP 的默認(rèn)布局尤泽。一旦新的默認(rèn)布局被創(chuàng)
建,控制器顯示的視圖代碼就會(huì)被放到新的布局中去规脸。

元素:重復(fù)使用的代碼塊

助手
window環(huán)境下使用cake bake 生成C M V 文件
確定console文件位置
image.png
遇到問題
需要配置系統(tǒng)環(huán)境變量
cake bake  和php
配置完成后重新打開命令行--->我使用git bash
運(yùn)行 php -v看是否正常
image.png
生成對應(yīng)的數(shù)據(jù)表MVC文件
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坯约,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子莫鸭,更是在濱河造成了極大的恐慌闹丐,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件被因,死亡現(xiàn)場離奇詭異卿拴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梨与,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門堕花,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蛋欣,你說我怎么就攤上這事航徙。” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵到踏,是天一觀的道長杠袱。 經(jīng)常有香客問我,道長窝稿,這世上最難降的妖魔是什么楣富? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮伴榔,結(jié)果婚禮上纹蝴,老公的妹妹穿的比我還像新娘。我一直安慰自己踪少,他們只是感情好塘安,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著援奢,像睡著了一般兼犯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上集漾,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天切黔,我揣著相機(jī)與錄音,去河邊找鬼具篇。 笑死纬霞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驱显。 我是一名探鬼主播诗芜,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼埃疫!你這毒婦竟也來了绢陌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對情侶失蹤熔恢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后臭笆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叙淌,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年愁铺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹰霍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茵乱,死狀恐怖茂洒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓶竭,我是刑警寧澤督勺,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布渠羞,位于F島的核電站,受9級(jí)特大地震影響智哀,放射性物質(zhì)發(fā)生泄漏次询。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一瓷叫、第九天 我趴在偏房一處隱蔽的房頂上張望屯吊。 院中可真熱鬧,春花似錦摹菠、人聲如沸盒卸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔽介。三九已至,卻和暖如春糟需,著一層夾襖步出監(jiān)牢的瞬間屉佳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工洲押, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留武花,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓杈帐,卻偏偏與公主長得像体箕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子挑童,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,092評(píng)論 1 32
  • 天我們?nèi)ド闲1菊n的時(shí)候我弄的是彩泥做的是小豬站叼。我的同學(xué)是折的紙娃兽。他折了一個(gè)東西,很好玩尽楔。能吹起來的投储,帶了兩個(gè)...
    管西彩閱讀 227評(píng)論 0 1
  • 母親真的老了玛荞,變得孩子般纏人,每次打電話來呕寝,總是滿懷熱忱地問:你什么時(shí)候回家勋眯? 且不說相隔一千多里路,要轉(zhuǎn)三次車,...
    與世爭鳴閱讀 405評(píng)論 7 3
  • 相信自己,敢跟自己叫板 ——自信是改變自我的決定性力量 “自信是成功的第一秘訣”嚼酝,世界在自信者的兩手間造就...
    簡言念君閱讀 202評(píng)論 0 1
  • While 循環(huán)會(huì)在指定條件為真時(shí)循環(huán)執(zhí)行代碼塊 如果忘記增加條件中所用變量的值浮还,那這個(gè)循環(huán)永遠(yuǎn)不會(huì)結(jié)束∶龉可能會(huì)導(dǎo)...
    任儀凡閱讀 146評(píng)論 0 0