奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

php語言

使用symfony命令創建項目的方法

時間:2025-04-20 23:16:41 php語言 我要投稿
  • 相關推薦

使用symfony命令創建項目的方法

  使用symfony命令創建項目的方法,結合實例形式分析了Symfony命令的使用方法與項目創建的相關技巧,需要的朋友可以參考下。

  概況

  這一章節描述一個Symfony項目的合理結構框架,并且用 symfony 命令初始項目結構。

  介紹

  在symfony里,一個項目是一個指定域名下的一組服務和有效操作,共享相同的項目模型。

  在一個項目里面,應用中的操作是一組邏輯;每個應用都可以正常的獨立運行,與相同項目中的其他應用互不干涉。

  在多數情況中,一個項目會包含兩個應用,一個負責前臺顯示,一個負責后臺處理,使用相同的數據庫。當然你也可以在一個項目中包含很多小站點,每個站點都是一個不同的應用。注意在不同應用之間使用的超鏈接必須使用絕對路徑。

  每一個應用都是一組模塊,每一個模塊都負責一個特殊的功能。一個模塊通常為了類似的功能而使用一個頁面或一組頁面。例如模塊可以是home, articles, help, shoppingCart, account,等等。

  模塊的功能:每個模塊都有它們各自的功能,例如 shoppingCart(購物車) 模塊要有 添加(add), 展示(show) 和 更新(update) 功能。功能的行為可以看作一個典型web應用中的頁行為。

  如果一個新的項目的級別太多,那么可以很簡單的把模塊中的所有功能分組,這樣做文件結構可以保持簡單。當應用更加復雜的時候,可以在邏輯模塊中組織功能。

  每個應用都可以運行在不同的環境中,例如,不同的配置或數據庫。一般來說每個新的應用都會運行在三個環境(開發,測試和最終產品)中。如果需要的話每個應用都可以運行在更多的環境中,在不同的環境中僅僅需要修改配置配件。

  例如,一個測試環境中需要記錄警告和錯誤,而一個最終產品環境將只需要記錄錯誤。在開發環境中通常不開啟緩存加速,而在測試和最終產品環境中需要開啟。開 發環境和測試環境可能會需要測試用的數據,儲存在最終產品的遠程數據庫中。所有的環境都可以在一臺機器上共存,而通常產品服務器上只有最終產品環境。

  注意:如果你是通過沙盒(sandbox)使用symfony,你不需要設置項目或應用,沙盒(sandbox)內部已經準備了一個名為'sf_sandbox'的項目和一個名為'frontend'的應用。你也不需要設置web服務器,只需要把你的程序放置在 web/ 根目錄下。

  Pake

  SymFony使用專門的工具Pake去管理項目、應用和模塊。Pake是一個php工具,類似于Rake命令(這是一個將 make 命令轉換為Ruby的工具)。它會根據一個名為 pakefile.php 的特殊配置文件自動化一些管理任務。如果你使用 pake 工具代替了 symfony 命令行,所有的操作都會變得非常簡單。

  要得到所有有效的管理操作命令列表,只需要簡單得在你的項目目錄中輸入:

  $ symfony -T

  CLI(命令行操作)的任務調度用于一個項目的前期階段期間。一個關于CLI任務調度的完整說明參考CLI章節 。

  項目設置

  一切開始之前,你必須新建一個存放項目的目錄:

  $ mkdir /home/steve/myproject

  然后,開始初始化項目生成原始文件和目錄,簡單的輸入:

  $ cd /home/steve/myproject

  $ symfony init-project myproject

  這是一個新創建的文件系統樹結構的概況:

  apps/

  batch/

  cache/

  config/

  data/

  doc/

  lib/

  log/

  test/

  web/

  symfony 命令可以在當前項目的可用目錄中隨時調用。

  應用設置

  項目到現在還沒有完成,它至少還需要一個應用。先使用 symfony init-app 命令初始化一個應用,用命令后跟的參數去命名這個應用的名稱:

  ?

  1

  $ symfony init-app myapp

  這樣就在項目的根目錄下的 apps/ 文件夾中創建了一個 myapp 目錄,其中包含了用于你站點的一個默認應用配置和一組目錄文件:

  apps/

  myapp/

  config/

  i18n/

  lib/

  modules/

  templates/

  一些充當各自默認環境中的前端控制器的php文件也被創建在項目根目錄的web目錄下:

  web/

  index.php

  myapp_dev.php

  index.php是production新應用程序的前端控制器。因為你創建這個項目中的第一個應用程序時,Symfony創建了一個調用 index.php的文件,例如 myapp.php (如果你現在添加一個名為 mynewapp 的新應用程序,新產品的前端控制器將被命名為mynewapp.php)。在 開發環境中運行程序時,調用前端控制器 myapp_dev.php。

  注意:你如果仔細閱讀了介紹,你可能會對myapp_test.php文件的位置感到意外。事實上,測試 環境是用于對你的應用程序的構件進行單元測試,它不需要前端控制器。可以參考單元測試章節去了解更多詳細內容。

  從現在開始,/home/steve/myproject/ 目錄將會作為項目的根目錄。根目錄的路徑已經被保存為 SF_ROOT_DIR 常量,定義在 index.php 文件中,并且我們將會用這個常量名代替實際路徑以避免把不叫Steve的讀者搞糊涂了(譯者注:因為作者將項目放在/home/steve /myprojetc的目錄下,這個路徑每個人可能都不盡相同,所以使用常量SF_ROOT_DIR來代替了實際路徑)。

  Web服務器設置

  為了訪問和測試新的應用程序,需要配置web服務器。這有一個Apache的例子,在 httpd.conf 配置文件中加入一個新的虛擬主機:

  ?

  <Directory "/$data_dir/symfony/web/sf">

  AllowOverride All

  Allow from All

  </Directory>

  <VirtualHost *:80>

  ServerName myapp.example.com

  DocumentRoot "/home/steve/myproject/web"

  DirectoryIndex index.php

  Alias /sf /$data_dir/symfony/web/sf

  <Directory "/home/steve/myproject/web">

  AllowOverride All

  Allow from All

  </Directory>

  </VirtualHost>

  注意:上面的配置中的 $data_dir 變量需要替換成你的PEAR庫目錄。例如:在*nix系統中,你可以輸入:

  ?

  1

  <code> Alias /sf /usr/local/lib/php/data/symfony/web/sf</code>

  你可以在安裝章節找到更多關于PEAR目錄的信息。

  重啟Apache服務之后,就可以看到調用新創建的應用程序的頁面,只需要在一個標準的web瀏覽器的地址欄輸入下列路徑:

  http://myapp.example.com/index.php/

  或者,在調試模式下使用這個路徑:

  http://myapp.example.com/myapp_dev.php/

  注意:Symfony顯示‘簡短漂亮的(smart)'路徑時用到了 mod_rewrite 模塊。如果你的Apache版本沒有將 mod_rewrite 模塊編譯進去,那么需要在 httpd.conf 中檢查模塊mod_rewrite是否是動態模塊方式(DSO)安裝的,并且確認是否已經打開(譯者注:關于Apache的mod_rewrite模塊安 裝和使用方法請參考Apache相關文檔,這里假設讀者已經具備這方面知識而不作過多說明):

  ?

  1

  2

  AddModule mod_rewrite.c

  LoadModule rewrite_module modules/mod_rewrite.so

  你可以在路由(routing)章節了解更多關于簡短路徑(smart urls)的信息。

  Symfony 兼容其它服務器配置方式。你也可以,例如,用別名(alias)代替虛擬主機訪問symfony應用程序。若需要了解更多關于web服務器配置信息,請查閱相關章節。

  模塊設置

  你這個新的應用程序并不出眾,它缺乏吸引人的功能。如果你想增加功能性,你需要在在其中用到模塊。這里再一次用到了 symfony 命令,參數為 init-module ,后面跟著應用程序名稱和新模塊的名稱:

  ?

  1

  $ symfony init-module myapp mymodule

  創建以后的樹結構如下:

  modules/

  mymodule/

  actions/

  config/

  lib/

  templates/

  validate/

  新模塊直接可以被使用:

  http://myapp.example.com/index.php/mymodule

  然后你需要讓它正常的工作,編輯文件 myapp/modules/mymodule/templates/indexSuccess.php 輸入:

  Hello, world !

  保存它,刷新剛才的頁面就可以看到內容!

  源文件版本控制(Source versioning)

  應用程序設置完成之后,建議開始進行源文件版本控制。Symfony從一開始就支持CVS(譯者注:版本控制系統),建議使用Subversion(譯者注:一個版本控制系統軟件,采用CVS 的運作模型, 并以取代CVS 為目標)。下面的例子列出了一些Subversion的命令,用于從在一個安裝了Subversion的服務器上創建一個新項目的"倉庫"(譯者注:repository,源代碼儲存的地方)。對于Windows用戶,建議客戶端使用TortoiseSVN。關于源文件版本控制的更多信息和命令用法,請參考Subversion文檔。

  下面的例子假設$SVNREP_DIR是一個已經定義的環境變量。如果你還沒有定義它,你需要用"倉庫"的實際路徑代替$SVNREP_DIR變量。

  現在讓我們開始創建myproject項目的新"倉庫":

  ?

  1

  $ svnadmin create $SVNREP_DIR/myproject

  然后用下面這串命令創建新"倉庫"的基本組織結構(規劃),其中包含 trunk, tags 和 branches 三個目錄:

  [code]$ svn mkdir -m "layout creation" file:///$SVNREP_DIR/myproject/trunk file:///$SVNREP_DIR/myproject/tags file:///$SVNREP_DIR/myproject/branches[/code]

  這將是你第一個版本。現在你必須導入項目的文件,但不包括緩存和日志等臨時文件:

  $ cd /home/steve/myproject

  $ rm -rf cache/*

  $ rm -rf log/*

  $ svn import -m "initial import" . file:///$SVNREP_DIR/myproject/trunk

  檢查提交的文件:

  $ svn ls file:///$SVNREP_DIR/myproject/trunk/

  看上去很不錯。現在SVN"倉庫"已經記錄了所有項目文件的版本(和更改歷史)。就是說實際路徑為 /home/steve/myproject 的目錄中所有的文件都已經被"倉庫"記錄。要做到這一點,首先重命名 myproject 目錄名,當一切運行正常的時候可以刪除它,并且在新目錄中向"倉庫"提交一個checkout:

  4

  $ cd /home/steve

  $ mv myproject myproject.origin

  $ svn co file:///$SVNREP_DIR/myproject/trunk myproject

  $ ls myproject

  現在你可以在 /home/steve/myproject/ 目錄下的文件中工作,并且提交修改到"倉庫"中。不要忘記作一些清理和刪除myproject.origin目錄,它現在沒有用了。

  還有一些另外的設置。當你向"倉庫"中提交工作目錄時,會復制一些多余的文件,像項目中 cache 和 log 目錄下的文件。因此你需要針對這個項目在svn中指定一個忽略列表。你也需要重新將 cache/ 和 log/ 目錄的權限設置為完全控制,在訪問時產生的文件SVN將不會儲存:

  $ cd /home/steve/myproject

  $ svn propedit svn:ignore .

  $ chmod 777 cache

  $ chmod 777 log

  這將調用在SVN中設置的默認的文本編輯器。如果沒有生效,就像下面這樣設置subversion首選的編輯器:

  $ export SVN_EDITOR=<name of editor>

  $ svn propedit svn:ignore .

  直接在SVN中的忽略列表中加入myproject子目錄,這樣提交的時候就忽略了:

  cache

  log

  保存然后退出,這樣就完成了。

  希望本文所述對大家基于Symfony框架的PHP程序設計有所幫助。

【使用symfony命令創建項目的方法】相關文章:

autocad命令使用的方法10-10

slmgr命令的使用方法10-15

dos的mem命令使用方法07-29

Linux的free命令使用方法09-10

linux命令詳解之chkconfig命令使用方法介紹10-10

Linux的基礎命令和使用方法08-18

linux下vi命令的具體使用方法10-15

Linux系統中smbclient命令的使用方法08-02

linux系統下dd命令的使用方法08-20

主站蜘蛛池模板: 德令哈市| 芒康县| 长顺县| 徐水县| 凤城市| 务川| 娄底市| 永嘉县| 错那县| 肇东市| 留坝县| 东明县| 大关县| 威宁| 调兵山市| 柳州市| 崇信县| 灯塔市| 友谊县| 洪雅县| 图木舒克市| 陆良县| 屏东市| 柏乡县| 鞍山市| 浮梁县| 南乐县| 仙桃市| 雅江县| 洛扎县| 尼玛县| 凭祥市| 青海省| 斗六市| 阜康市| 南涧| 沈阳市| 松桃| 会理县| 琼海市| 延津县|