thinkphp自定义标签库
thinkphp ~ php中 的類, 的成員變量, 本身是沒有類型說明的, 那么我怎么知道它的類型呢? 或初始值呢?
通常在類定義中, 如果能給一個初始值的(對于已知簡單類型的),最好給一個初始值, 以說明其初始值或類型(盡管類型是可以改變的,但是不會去做自己整自己的傻事), 如果成員是類實例,則不說;
然后要在 $__construct中去初始化成員, 或初始化 對象成員.
對于tp框架的類庫 內部的操作, 好像 根路徑是從 ThinkPHP/Library 為根開始的, 即?就表示 ThinkPHP/Library, 而項目模塊中,自定義的類的 路徑好像是從 Home開始的
其實自定義標簽很有用, 以前老是想在前臺html頁面中實現某些功能, 都沒有做到,比如 要連續地輸入多個空格,..., 因為其中要牽涉到使用php的后臺代碼,現在有了自定義標簽庫,就可以用html的標簽去調用用php實現 的代碼功能了.
php在定義類的時候, 跟C++有點區別, c++中定義類,要在定義的后面加上分號;, 類定義作為是作為一個語句的, 而php類的定義, 最后面可以不加分號;
public, protected, private等access level只是針對 "類的" 成員, 成員變量和成員函數才用這個, 對函數內部的變量是不用這個的.
不要重復的 反復的犯一個低級錯誤了: 如果是tp中的類 *.class.php 文件,一定要在文件的開頭 寫上 <?php ... 否則系統不會認為這是 一個php文件, 因此不會認為其中的class...是一個類,所以會報錯: 實例化一個不存在 的類. 在windows下的編輯器還不會顯示代碼顏色高亮, 但是在shell中你就不容易發現了,所以一定要記得寫php標簽. 這個跟c++文件不一樣:c++文件是不需要開始標簽的, 可以直接寫code.. . 所以要注意他們的區別!
php的結束標簽 在手冊中,是強烈建議不要加的: 因為結束標簽 后的任何空格都可能引起很蛋疼 的錯誤. 如果是要被別人包含的時候,只是在結束時加上結束注釋.
要解決路徑問題, 最簡單的方法是把 自定義標簽庫放到 跟 內置標簽庫 Cx.class.php一樣的位置. 然后只配置兩個配置項: 'TAGLIB_PRE_LOAD' => 'my' 'TAGLIB_BUILT_IN' => 'cx,my'
而'APP_AUTOLOAD_PATH' => ''.在3.2.3中已經被廢棄,因為它要關閉namespace, 'APP_USE_NAMESPACE' => false, 但是一旦關閉,所有點控制器都會失效!
而且 My.class.php 自定義標簽庫好像也不用命名為 TagLibMy.class.php.?!
最終總結: 解決方案
(當然你也可以寫TagLibMy.class.php, 類也定義成TagLibMy,以及配置文件做相應修改都是可以的, 只是沒有必要搞得那么復雜)
轉載于:https://www.cnblogs.com/bkylee/p/6096873.html
總結
以上是生活随笔為你收集整理的thinkphp自定义标签库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从网站上下载视频
- 下一篇: 【php】命名空间 和 自动加载的关系