初識yii Framework 框架 創建第一個 Yii 應用

本身折騰php快一年了,開始用了一個國產的框架,還算用得比較熟悉了,最近想把這個業餘愛好繼續發揚光大,所以,把筆記本的win7也幹掉了,裝了ubuntu ,體驗一把完整的php開發體驗, 重要是準備開始學習yii 和rails。   愛好 興趣是最好的老師。 php

開始,go go 。 。。 。 css

準備工做:先去github下載yii框架,目前是1.1.13 mysql

由於開發環境都是apt-get包安裝的,(ubuntu 搭建php本地開發環境安裝過程前面博客有介紹),所以這裏的apache主目錄所有在/var/www下面。 git

先給它一個777把。  github


chmod 777 -R /var/www
進入web主目錄,使用yiic工具,創建項目基礎框架結構。
calvin@ProBook-4321s:/var/www/yii$ ls
framework  requirements
calvin@ProBook-4321s:/var/www/yii$ ./framework/yiic webapp  shop
Create a Web application under '/var/www/yii/shop'? (yes|no) [no]:yes
      mkdir /var/www/yii/shop
      mkdir /var/www/yii/shop/css
   generate css/print.css
   generate css/form.css
   generate css/main.css
   generate css/bg.gif
   generate css/ie.css
   generate css/screen.css
   generate index-test.php
      mkdir /var/www/yii/shop/protected
      mkdir /var/www/yii/shop/protected/views
      mkdir /var/www/yii/shop/protected/views/layouts
   generate protected/views/layouts/main.php
   generate protected/views/layouts/column1.php
   generate protected/views/layouts/column2.php
      mkdir /var/www/yii/shop/protected/views/site
      mkdir /var/www/yii/shop/protected/views/site/pages
   generate protected/views/site/pages/about.php
   generate protected/views/site/index.php
   generate protected/views/site/error.php
   generate protected/views/site/login.php
   generate protected/views/site/contact.php
   generate protected/yiic.php
      mkdir /var/www/yii/shop/protected/tests
      mkdir /var/www/yii/shop/protected/tests/unit
      mkdir /var/www/yii/shop/protected/tests/report
   generate protected/tests/bootstrap.php
   generate protected/tests/phpunit.xml
      mkdir /var/www/yii/shop/protected/tests/fixtures
      mkdir /var/www/yii/shop/protected/tests/functional
   generate protected/tests/functional/SiteTest.php
   generate protected/tests/WebTestCase.php
      mkdir /var/www/yii/shop/protected/runtime
   generate protected/.htaccess
      mkdir /var/www/yii/shop/protected/models
   generate protected/models/LoginForm.php
   generate protected/models/ContactForm.php
      mkdir /var/www/yii/shop/protected/migrations
      mkdir /var/www/yii/shop/protected/messages
   generate protected/yiic.bat
      mkdir /var/www/yii/shop/protected/components
   generate protected/components/UserIdentity.php
   generate protected/components/Controller.php
      mkdir /var/www/yii/shop/protected/commands
      mkdir /var/www/yii/shop/protected/commands/shell
      mkdir /var/www/yii/shop/protected/extensions
      mkdir /var/www/yii/shop/protected/controllers
   generate protected/controllers/SiteController.php
      mkdir /var/www/yii/shop/protected/config
   generate protected/config/test.php
   generate protected/config/console.php
   generate protected/config/main.php
   generate protected/yiic
      mkdir /var/www/yii/shop/protected/data
   generate protected/data/schema.mysql.sql
   generate protected/data/testdrive.db
   generate protected/data/schema.sqlite.sql
   generate index.php
      mkdir /var/www/yii/shop/themes
      mkdir /var/www/yii/shop/themes/classic
      mkdir /var/www/yii/shop/themes/classic/views
      mkdir /var/www/yii/shop/themes/classic/views/layouts
   generate themes/classic/views/.htaccess
      mkdir /var/www/yii/shop/themes/classic/views/system
      mkdir /var/www/yii/shop/themes/classic/views/site
      mkdir /var/www/yii/shop/assets
      mkdir /var/www/yii/shop/images

Your application has been created successfully under /var/www/yii/shop.
calvin@ProBook-4321s:/var/www/yii$
這樣,就創建一個shop的項目在/var/www/yii/shop


訪問一把,看看  localhost/yii/shop web


一行代碼也沒有寫,就已經出來了一個基本的程序結構,感受跟rails的  rails new blog 差很少。 sql

有待進一步研究。 翻看手冊,先大體弄明白生成的每一個文件是幹什麼的。 shell



shop/
	index.php Web 應用入口腳本文件
	index-test.php 功能測試使用的入口腳本文件
	assets/ 包含公開的資源文件

	css/ 包含 CSS 文件
	images/ 包含圖片文件
	themes/ 包含應用主題
	protected/ 包含受保護的應用文件
		yiic yiic 命令行腳本
		yiic.bat Windows 下的 yiic 命令行腳本
		yiic.php yiic 命令行 PHP 腳本
		commands/ 包含自定義的 'yiic' 命令
			shell/ 包含自定義的 'yiic shell' 命令 我猜想有多是用來給php調用的
		components/ 包含可重用的用戶組件
			Controller.php 全部控制器類的基礎類
			Identity.php 用來認證的 'Identity' 類
		config/包含配置文件
			console.php 控制檯應用配置
			main.php Web 應用配置
			test.php 功能測試使用的配置
		controllers/包含控制器的類文件
			SiteController.php 默認控制器的類文件
		data/包含示例數據庫
			schema.mysql.sql 示例 MySQL 數據庫
			schema.sqlite.sql 示例 SQLite 數據庫
			testdrive.db 示例 SQLite 數據庫文件
		extensions/ 包含第三方擴展
		messages/ 包含翻譯過的消息
		migrations/ 數據庫遷移模型腳本
		models/ 包含模型的類文件
			LoginForm.php 'login' 動做的表單模型
			ContactForm.php 'contact' 動做的表單模型
		runtime/ 包含臨時生成的文件
		tests/ 包含測試腳本(裏面文件太多,不列了)
		views/ 包含控制器的視圖和佈局文件
			layouts/包含佈局視圖文件
				main.php 全部視圖的默認佈局
				column1.php 使用單列頁面使用的佈局
				column2.php 使用雙列的頁面使用的佈局
		
			site/包含 'site' 控制器的視圖文件
			pages/包含 "靜態" 頁面
			about.php"about" 頁面的視圖
			contact.php 'contact' 動做的視圖
			error.php 'error' 動做的視圖(顯示外部錯誤)
			index.php 'index' 動做的視圖
			login.php 'login' 動做的視圖


在phpStorm中創建Yii項目。 數據庫

截屏的時候, 無心發現phpStorm太強大了, 在提示叫我設置成yii框架。 原來這個IDE默認內置支持yii,看來是個不錯的選擇。 apache

上圖,設置YII框架


改天繼續, 準備是把本身的網上商店遷移一下到yii。 先熟悉yii的結構,和思想。

洗洗睡咯

相關文章
相關標籤/搜索