toper

dexAction dexAction ction

toper簡介

一個極為簡單的PHP的Framework,它主要是在查看thinkphp和zend framework源碼的基礎上寫出來的,Toper的本意是“走向頂端的人”,Toper代碼存放在google code中,詳見後面的參考資料。

關於作者

Toper的作者是一個學生,現就讀於四川大學09級的計算機學院。

Toper介紹

Toper是從2012年2月開始編寫,中間經歷了很多次的重構,現在基本上的構架變成了Core+Extend,這個構架是當時他的同學呂廣奕想出來的,後面他覺得不錯,就直接借鑑了。
Core中只是實現了MVC的構架這一塊兒,包括了View這一塊兒的標籤庫,Db這一塊的ORM,Config這一塊兒的工廠,Filter和與之相關的輔助類。
Extend中暫時只包含了Cache,DataStructure,Util三個包,Toper把Cache認為不是框架的核心,所以放在了擴展中,用戶可自由選擇是否包含它;DataStructure庫是Toper定義的數據結構庫,但是Toper不推薦使用,因為PHP已經有很完善的這個庫了,如SPL;Util庫是比較重要的,其中包含了一些常用的類,如檔案上傳,驗證碼,登入,傳送郵件等等。
如果要實現一個最簡單的套用,那么只需要包含Core的內容,由於Extend的內容相互之間不耦合,所以可以自由選擇部分來使用。

Toper具體內容

下面介紹一下Toper框架的具體內容:

Toper 規範

1. 類名:每個單詞首字母大寫,如:FrontController
2.方法名:第一個單詞全部小寫,之後的單詞首字母大寫,如:indexAction
3.類的成員變數名:添加_代表外部不可訪問,然後駝峰式命名,如$_testTable
4.常量:單詞之間_連線,單詞全部大寫,如:AUTO_FETCH_DATA
5.函式名:全部小寫,單詞之間通過_連線,如果PHP中已經存在這個函式,那么函式名加上前綴tp_,如:tp_echo,is_window(特殊函式除外)
6.檔案名稱:
Toper檔案
接口:IXX.interface.php,其中XX每個單詞首字母大寫,如:IExtend.interface.php
類:XX.class.php,其中XX每個單詞首字母大寫,如:FrontController.class.php
函式:xx.php,其中xx全部小寫,如:function.php
JS:tp.xxx.js,其中xxx為小寫,如tp.string.js
用戶檔案
PHP
類:XX_XXFF.class.php,其中XX_XX代表路徑,FF代表功能,如Test_IndexController.class.php,代表Test目錄下面的IndexController.class.php這個檔案

Toper目錄結構

詳見toper代碼中的Readme.txt

一個簡單的Toper的套用

首先控制器:FirstController.php

import('My.Models.TestModel');
import('Tp.Core.Controller');
//如果開始了autoload,可不使用import
class FirstController extends Tp_Controller {
public function indexAction() {
$testModel = new TestModel();
$testModel->test();
//或者可以使用O('TestModel')->test()
$this->_display('test');
}
}

再寫模型:TestModel.php

import('Tp.Core.Db.Model');
class TestModel extends Tp_Model {
public function test() {
P('test');
//Toper的列印函式
}
}

再寫視圖,test.html

<html>
<head></head>
<body>
<print name = "測試" type = "str" />
</body>
</html>

相關詞條

熱門詞條

聯絡我們