初识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的结构,和思想。

洗洗睡咯

相关文章
相关标签/搜索