搜尋
首頁後端開發php教程LotusPhp推荐的程序目录_PHP教程

LotusPhp推荐的程序目录_PHP教程

Jul 20, 2016 am 11:14 AM
固定推薦格式靈活目錄相對程式專案

一个好的项目都会固定格式的目录,Lotusphp相对会灵活一些,可以合理安排自己的程序运行目录,这里我推荐2种目录的设置结构

第一种是Lotusphp推荐的目录结构,首先要确保服务器开启了父目录引用的功能,或者通过rewrite引导到 wwwroot/frontend 里(但是不建议这样,因为可能存在多个应用,除非你就一个应用,默认引导到index.php)

├─framework
├─app
│  └─frontend                      应用名称
│      ├─action
│      ├─conf
│      ├─lib
│      └─view
│          └─layout
├─conf
│  ├─dev
│  └─standard
├─lib
│  ├─Dao
│  ├─Util
│  └─Service
└─wwwroot
    └─frontend

wwwroot大家一看就明白,就是web根目录,所有的程序运行文件,包括框架、程序、类库、插件、配置文件等都在wwwroot的父目录中,即使被黑,也只被黑了服务器,单纯从web服务器上浏览,是无法看到任何程序文件和类库的,wwwroot目录中只能访问到图片,脚本等资源。这样的配置安全系数相对会比较高。最上面的app文件夹就是应用程序文件夹,下面可以新建多个应用,一般像我们经常是前台一个应用,后台一个应用,2个应用足够了,对于复杂的逻辑,可以根据需要定义应用的数量,wwwroot中对应的文件夹和app对应的文件夹名称应该一致,app中存放的后台程序文件,而wwwroot中存放的应该是前台脚本,图片,样式等文件。应用目录下还有几个文件夹,对应的功能分布是action对应的是应用程序文件,负责解析后台逻辑部分,conf而已定义该应用的配置文件,lib是定义插件,各种该应用使用的公用类库,Dao数据表类,view里面存放视图,也可以理解为我们常说的模板,其中的子文件夹layout是存放布局视图文件的

conf目录存放的是配置文件,其中下面的dev目录是开发模式中应用的配置文件,而standard则是生产模式存放的配置文件,举个简单的例子,本地和服务器上的数据库配置不一样,就可以存为不一样的配置,在本地启用开发模式,传到服务器启用生产模式,可以从容应对不同运行环境。所有的配置文件放到conf目录。全局配置是所有应用共享的配置,每个应用特殊的配置放到应用名称目录下的conf。生产环境下只加载标准配置,开发模式下先加载标准配置,然后加载开发配置,覆盖掉标准配置中相同的。

lib目录里存放的是一些基础类库,框架外的插件也可以存放在这里,lotus被声明后,会自动加载这个文件夹,里面所有的类库和函数会被自动加载,Dao存放的是数据表声明的类,Util存放的是常用的函数和类库,Service存放的是程序的一些复杂逻辑的类库,比如我们经常后台登陆,要判断用户的合法性,就可以写成一个类库,action里调用该类库的一个check方法,就可以判断出用户是否合法。

你可以把自己定义的php类放到lib和action目录,在其它地方直接new使用,不需要有include/require语句。autoloader组件会自动加载用到的类,这是按需加载哟。

lib和action目录下的目录结构和文件名随意,只要保证类名字唯一就好了,目前的autoloader没有使用php5.3的name space特性。

请注意,lotusphp运行目录中,除了conf,view文件夹下的文件外其余文件必须以类或者函数的形式存在。

还有一种目录结构是针对无法开启父目录引用的,一般虚拟主机里应用会比较多 

wwwroot
├─cache
├─framework
├─runtime
│  ├─app
│  │  └─frontend
│  │      ├─action
│  │      ├─conf
│  │      ├─lib
│  │      └─view
│  │          └─layout
│  ├─conf
│  │  ├─dev
│  │  └─standard
│  └─lib
└─static

cache是缓存目录,结构很多人要问为什么上面的第一种结构没有设置这个文件夹,因为上面的结构是适合自己的服务器的,所以缓存可以设置到自己设定的文件夹中,甚至设置到内存中,但是虚拟主机是不可能给你这个权限的,要设置只能设置在自己的目录里,所以加了这么一个目录,runtime是程序运行文件目录,static是存放样式表,脚本,图片文件的。其他目录的功能和上面是一样的。

这两个推荐的目录方式基本适合大多数人的需求。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440304.htmlTechArticle一个好的项目都会固定格式的目录,Lotusphp相对会灵活一些,可以合理安排自己的程序运行目录,这里我推荐2种目录的设置结构 第一种是...
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
超越炒作:評估當今PHP的角色超越炒作:評估當今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

PHP中的弱參考是什麼?什麼時候有用?PHP中的弱參考是什麼?什麼時候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

解釋PHP中的__ Invoke Magic方法。解釋PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

解釋PHP 8.1中的纖維以進行並發。解釋PHP 8.1中的纖維以進行並發。Apr 12, 2025 am 12:05 AM

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區:資源,支持和發展PHP社區:資源,支持和發展Apr 12, 2025 am 12:04 AM

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP與Python:了解差異PHP與Python:了解差異Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

php:死亡還是簡單地適應?php:死亡還是簡單地適應?Apr 11, 2025 am 12:13 AM

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來:改編和創新PHP的未來:改編和創新Apr 11, 2025 am 12:01 AM

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版