總結:通過開發日報告提交系統,掌握了基本的phalcon框架原理和PHP語言。也了解了一些linux常用指令,收獲頗豐。
下面對項目中所遇到的問題進行總結:
1.前台數據傳往後台所用的三種方法:
(1)表單提交form,$this->request->getPost(‘name’);
(2)超鏈接<a href=”…?name=”marry””>, $_GET[“name”];
(3)超鏈接<a href=”controller/action/parameters”>,從後台函數名中()中獲取參數parameters
2.數據全局化的兩種方法:
(1)session $this->session->set(‘auth’,array(
‘number’ => $info->number,
‘name’ => $info->name,
‘permission’=>$info->permission));
(2)persistent持久化, $this->persistent->acl = $acl
3.插件plugins,本項目中用到訪問控制acl,目的是在路由跳轉之前進入這個securityplugin中,判斷目前的角色role是否
有權限進入這個url。這部分需要在service中設置di。編碼過程中發現了一個框架的不足之處, foreach
($guestResources as $resource => $actions) {
$acl->allow(‘guest’, $resource, ‘*’);這裡的*指的是該resource對應的controller下所有的action,而不是之前定義的action(與文檔講解不符),而且它的allow或者deny不能超過一定數量。
4.發送郵件,用的是PHPMailer庫,需要添加class.phpmailer.php 和class.smtp.php引用路徑。詳情見《PHP語言精粹》OREILLY 88頁
5. 建立項目和model層可以用指令phalcon project ABC和phalcon model ABC完成,更加方便實用。