php單入口
1. php的單一入口是什麼意思
多個單點都是在一個文件上
比如discuz的 forum.php文件
2. php 怎樣實現項目單入口
在index.php設置session_start();並設置特定SESSION
其他頁判斷特定SESSION不對就跳轉回index.php
3. thinkphp5.0 採用了單入口文件嗎如果不是怎麼創建多入口文件啊
(注:這個答案就是原創,入門文件就是這樣寫,大部分人也是這樣寫,我也是這樣寫,只要define('THINK_PATH', './ThinkPHP/');引入THINKPHP文件就可以編寫項目了)
文件一般是根目錄下的INDEX.PHP
<?php
// 應用入口文件
// 檢測PHP環境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 開啟調試模式 建議開發階段開啟 部署階段注釋或者設為false
define('APP_DEBUG',true);
// 定義應用目錄
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
4. php中什麼是單入口文件單入口文件的優缺點
單一入口應用程序的所有http請求都是通過某一個文件(比如index.php)接收並由這個文件轉發到功能代碼中去。
單一入口應用程序優勢:可以對url參數和post進行必要的檢查和特殊字元過濾、記錄日誌、訪問統計等等各種可以集中處理的任務,類似如一些許可權控制、用戶登錄方面的判斷和操作可以統一處理了。
由於這些工作都被集中到了單入口文件(index.php)來完成,可以減輕我們維護其他功能代碼的難度。
5. php 單一入口 程序
1, 不明白你的具體需求,是否需要資料庫支持,還是只是用文件即可;
2, 單一入口指的是你可以在你的程序裡面方便調用這個留言板嗎?
3, 留言板是否需要和你的別的內容深度整合呢?
如果只要留言板,那麼你可以看看康盛的uchome裡面留言板,用的ajax的,你摘出來即可哦。
6. PHP單入口是否是必須的
框架基本都是PHP對各種環境變數進行處理,或者集成各種功能進行封裝方便使用,因為PHP4已經速度很快,現在PHP5甚至PHP6速度更快,快到已經不用去介意程序的執行速度了,所以單入口完全能夠滿足各種應用,沒必要去做雙入口或者多入口了。一般來說,PHP框架提供了 action mold param,一個入口可以實現 index.php?action=x&mold=x?m=x 可以說相當夠用了。 如果一定想要多入口,可以自己新建入口承載文件,繼承框架內置的各種封裝就可以使用了。
7. 為什麼PHP的很多框架要使用單入口
單一入口應用程序的所有http請求都是通過index.php接收並轉發到功能代碼去的,所以在index.php裡面就能完成許多實際工作。
由於所有的http請求都由index.php接收,所以可以進行集中的安全性檢查,如果不是單一入口,那麼開發者就必須記得在每一個文件的開始加上安全性檢查代碼
(當然,安全性檢查可以寫到另一個文件中,只需要include就可以了。)
與安全性檢查類似。在入口裡,我們還可以對url參數和post進行必要的檢查和特殊字元過濾、記錄日誌、訪問統計等等各種可以集中處理的任務。
這樣就可以看出,由於這些工作都被集中到了index.php來完成,可以減輕我們維護其他功能代碼的難度。
8. php中,什麼是單一模式優缺點
php單一入口模式可謂是現在一種比較流行的大型web應用開發模式,比如當前比較流行的一些php開發框架,zend,thinkphp,qeephp,還有cakephp
等他們都是採用的單一入口模式的。本文將就什麼是單一入口模式,單一入口模式有哪些優點以缺點做一下研究。
什麼是單一入口?
在解釋什麼是單一入口之前,先說說與之對應的多入口。多入口即通過訪問不同的 php 文件運行對應的功能。比如剛開始學習 php
的時候,我們做一個項目通常都會如下這樣做:
index.php - 網站首頁
list.php?page=5 - 內容列表頁
info.php?id=12 - 內容詳細頁
login.php - 用戶登錄頁
對於這個項目來說,這其實就是一個多入口。
那麼單一入口的應用程序就是說用一個文件處理所有的HTTP請求,例如不管是內容列表頁,用戶登錄頁還是內容詳細頁,都是通過從瀏覽器訪問 index.php
文件來進行處理的,這里這個 index.php 文件就是這個應用程序的單一入口。
php 是如何實現單一入口的呢?
很簡單,一般單一入口程序都是在訪問index.php時附帶一個特定的參數。例如:index.php?action=list 就可以定義為訪問內容列表頁,而
index.php?action=info 則可以定義為訪問內容詳細頁等,具體實現代碼如下:
//從url中取出action參數,如果沒有提供action參數,就設置一個默認的'index'作為參數
$action=$_GET['action']==''?'index':$_GET['action'];
//根據$action參數調用不同的代碼文件,從而滿足單一入口實現對應的不同的功能
include('files/'.$action.'.php');
以上這個就實現了一個最簡單的單一入口模式程序,當然真正的單一入口模式會比這個要復雜很多。但只要懂得如何合理組織各個功能的處理代碼並遵循一定的步驟,也可以輕松的解決掉這個難題,下面就一個後台的例子來做一下說明:
比如我們現在要做一個新聞管理的後台。那麼首先,對於應用程序的功能要做出一個合理的分解。例如後台的新聞欄目可能包含「添加新聞」、「編輯新聞」、「刪除新聞」等多個功能。這時我們就可以將這一組邏輯上關聯的功能組合到一個功能模塊中,稱為「新聞管理」模塊。
按照上面的方法整理完應用程序的功能,我們就會得到多個功能模塊,而每個模塊又是由多個功能組成(實際上,即便不是單一入口應用程序,功能的整理也是必須的步驟)。
整理完功能後,我們就需要確定如何存放各個功能的代碼。這里我推薦兩種方式:
1、每個功能模塊一個子目錄,目錄里的每一個文件就是一個功能的實現代碼。
這
種方式的好處是每個功能的代碼都互相隔離,非常便於多人協作。缺點是每個功能之間共享代碼和數據不那麼方便。例如新聞管理模塊中的所有功能都需要一個「取
出新聞欄目記錄」的功能,那麼採用這種多個獨立文件的組織方式,「取出新聞欄目記錄」就只能寫在另一個文件中,然後由需要該功能的文件include
進去。
2、每個模塊一個文件,模塊中的每個功能寫成一個函數或者一個類方法。
好處不用多說了,非常便於共享代碼和數據。缺點就是如果幾個人同時改,容易發生沖突。不過藉助版本控制軟體和差異比較合並工具,沖突還是很容易解決的。
單一入口應用程序對應多入口有哪些優勢呢?
單
一入口應用程序的所有http請求都是通過index.php接收並轉發到功能代碼中去的,所以在index.php裡面就能完成許多實際工作(所有頁面
都需要做的且都一樣的工作)。比如進行集中的安全性檢查,訪問統計等等,如果不是單一入口,那麼開發者就必須記得在每一個文件的開始加上安全性檢查代碼,
當然,你也許會說,多入口的安全性檢查可以寫到另一個文件中,然後include一下就可以了。但實際針對一個相對較大型一點的應用項目,在幾十個文件中
保持頭部的幾個include都一致可不是一件讓人省心的事。
與安全性檢查類似。在入口裡,我們還可以對url參數和post進行必要的檢查和特殊字元過濾、記錄日誌、訪問統計等等各種可以集中處理的任務。這樣就可以看出,由於這些工作都被集中到了index.php來完成,可以減輕我們維護其他功能代碼的難度。
單一入口應用程序的缺點?
任何事情都有兩面性,單一入口應用程序也不例外。由於所有http請求都是訪問 index.php ,所以程序的 url
看起來不那麼美觀,特別是對搜索引擎來說不太友好。比如下面這個 url:
http://www.phperhome.ocm/index.php?controller=posts&action=index
我們知道這種URl不太方便記憶,而且搜索引擎不認它是一個正常的 URL,當然是相比下面這種 URl 來說的:
http://www.phperhome.ocm/index.php/posts/index/
不過這個也不是什麼大問題,可以採用url重寫、PATHINFO等方式就可以輕松解決這個問題。
OK,單一入口模式就寫這么多了,當然要想深刻理解單一模式,最好的辦法還是自己嘗試著用單一入口模式寫一個小應用出來深刻體會一下。
本文地址:http://www.phperhome.com/php/400.html
9. PHP單一入口寫法
php裡面沒有c語言之類的入口函數, 所有函數, 只要被調用了就可以執行,如: <?php//文件:test.php//這兒是函數的實現, func1也是任意命名,但要符合規范, 不一定必須為main. 即使命名為main, 但沒有最下面調用, 該函數也不會被執行function func1() { echo "hello world";} func1();//這兒調用?>
10. PHP用單入口怎麼配置前台後台路徑
判斷來路url,通過路由,比如後台必須帶上admin(或其他自定義),www..com/admin/action/check/index.html 這個地址就會通過admin來判斷路由到後台的控制,到後台判斷控制器是否存在,還有是否有許可權訪問。前台的話就是判斷控制起就可以了。