cakephp
允許你建立乙個controller,model以及view的組合,並且可以將他們發布為乙個已打包的應用程式外掛程式,以至在cakephp應用程式中,其他可以使用它。在你的乙個應用程式中,有乙個優秀的使用者管理模組,簡單的blog或web service模組嗎?將它打包為乙個cakephp外掛程式,這樣你可以將它使用到其他應用程式中。
乙個外掛程式和外掛程式安裝的應用程式的主要連線點是應用程式的配置(例如資料庫鏈結等)。否則,它會在自己狹小的空間裡進行操作,如果它是它自己擁有的應用程式,其行為非常類似它自己的行為。
作為乙個正在工作的例項,讓我們建立乙個外掛程式來為你預訂匹薩吧。非常英明的選擇喲,,讓我使用』pizza』吧。
資料夾下。所有外掛程式檔案的父資料夾名是很重要的,並且會在多個地方使用,最終,可以如下建立:
/plugins
/pizza
/controllers <- plugin controller
/models <- plugin model
/views <- plugin view
在外掛程式後命名
在外掛程式後命名
<?php
class
extends
?>
<?php
class
extends
?>
如果你忘了定義這些特殊的類,cakephp會給你乙個「missing controller」的錯誤,通知你改正這個問題。
釐面。因為我們關心的主要事情是匹薩訂單,所以我們需要為外掛程式準備乙個orderscontroller。
它是不需要的,建議你把你的外掛程式controller命名為乙個相對唯一的,這是為了避免與其父應用程式網域名稱相衝突。乙個父應用程式可能會有乙個userscontroller, ordercontroller, 或productcontroller,這並沒有想得太遠:因此你可能想有乙個創意的controller名,或者將外掛程式名新增到類名中(本例中是pizzaorderscontroller)。
裡,如下:
<?php
class
pizzaorderscontroller
extends
function
placeorder()
} ?>
. 我們已經為外掛程式定義了乙個pizzaorderscontroller。因此讓我們為controller建立乙個model,稱為pizzaorders(類名pizzaorders與我們的命名規則相符,並且足夠唯一,因此我們留著它吧)。
<?php
class
pizzaorder
extends
?>
view
nothing goes better with cake than a good pizza!
因此,既然我們已經做了所有事情,我們應該開始準備發布它了(儘管我們曾經建議你已經發布一些額外的,例如readme,sql檔案等)。
在cakephp裡,使用外掛程式的一些最終技巧有:
1.2.
你可以讓乙個預設的controller帶有乙個你的外掛程式的名稱。如果你這樣做了,你可以通過/[plugin]/action訪問它。例如,如果在你的[plugin]/controllers資料夾裡沒有乙個addcontroller的外掛程式,名為『users』的外掛程式和乙個名為userscontroller的controller可以通過/users/add訪問。
3.資料夾裡的布局。
4.在你的controller裡,你可以使用下面的來實現乙個內部外掛程式通訊:
$this->requestaction('/plugin/controller/action'); 5.
如果你使用requestaction,確保controller和model盡可能唯一。否則你可能會有乙個"redefined class ..."(類重定義…)錯誤
非常感謝felix geisendorfer為本章提供最初的資料。
last updated:2023年12月3日
CakePHP中文手冊 翻譯
0.宣告1.前言2.介紹cakephp 3.基本概念 4.安裝cakephp 5.配置 6.scaffolding 7.model 8.controller 9.view 10.component 元件 11.helper 12.cake的全域性變數和函式 13.資料驗證 14.外掛程式 15.訪問...
CakePHP中文手冊 翻譯
0.宣告1.前言2.介紹cakephp 3.基本概念 4.安裝cakephp 5.配置 6.scaffolding 7.model 8.controller 9.view 10.component 元件 11.helper 12.cake的全域性變數和函式 13.資料驗證 14.外掛程式 15.訪問...
CakePHP中文手冊 翻譯 基本概念
本章是對 mvc概念的乙個短小而且隨意的介紹,因為這些概念在 cake 裡得到實現。如果你是乙個 mvc模式的新人,很顯然本章就是為你而寫的。我們從 mvc的一般概念的討論開始,然後以我們自己的方式切入到 cakephp 裡的mvc 的特定應用程式,並且展示一些簡單的使用 mvc模式的 cakeph...