myfirstsymfony/ -----symfony项目目录
apps/ -----Application程序目录
batch/ -----用于存放调用命令行或调度程序运行批处理操作的PHP文件
cache/ ----项目缓存目录,用于加速WEB应答与请求
config/ ----项目常规配置文件
data/ ----存储项目数据资料,例如,数据库规划资料,创建表的SQL文件(或SqLite数据库)
doc/ ----存放项目文档,包括开发文档及phpdoc()
lib/ ----该目录是专门用于存放外部类和库。可以在这里加入你所需要共享的某个程序的代码,其中的model子目录用于存放项目的对象模型。
log/ ----用于存放symfony直接产生的日志文件,也可以包括网站的日志文件,通常每个类别应对应一个日志文件,如:myapp_prod.log
test/ ----该目录用于存放PHP所写的单元测试文件。在项目设置初,Symtony会自动加入一些基础测试的结果。
web/ ----该目录是网站的根目录,这里只存放需要从internet可以访问到的文件。
2- Symtony的Application目录说明
myfirstsymfony/ ----symfony项目目录
apps/ ----Application程序目录
myfirstapp/ ----Application的主目录
config/ ----存放一套YAML相关的配置文件。这是一个大多数应用程序的配置,从默认的参数分离开始能够被框架自己创建。
i18n/ ----国际化用文件组
lib/ ----Application专用Class(library用目录),一般为扩展类库
modules/ ----模块目录
templates/----Application,Module用模板目录
3- Symtony的Module目录说明
该目录主要结构如下:
myfirstsymfony/--------项目目录
apps/--------------------程序目录
myfirstapp/--------myfirstapp程序目录
modules/-------myfirstapp程序的模块目录
helloworld/—被建立的myfirstapp下的helloworld模块
actions/-----动作用目录
config/------模块设置目录
lib/-----------模块用类及类库目录(class&library)
templates/----模块用临时文件目录
validate/-------验证设置文件存放目录
4- Symtony的Apache配置参考
PS:Symfony的sf目录一定要被包进来,否则Symfony不能正常显示与处理。
5- symfony的MVC运行方式
6- Symfony常用命令 Symfony命令 说明
Symofny -V 查询当前symfony版本情况
Symfony init-project
新建symfony项目
Symfony init-app
新建symfony执行程序
Symfony init-module
在某执行程序下新建模块
Symfony -T
Symfony自测试(配置是否正确)
Symfony propel-build-schema
从即有数据库里生成schema.yml的定义文件
Symfony propel-build-model
从原schema.yml文件中生成数据库Model-Class模型类文件
Symfony propel-generate-crud
为了实现对数据表的基本操作(CRUD),生成的module(模块)与template(模板)生成命令。
Symfony cc
清除Cache(多用于在设置文件变更后时使用)
7- 学习Symfony我们需要知道的IT名词
7-1 OOP(Object Oriented Programming),面向对象编程,是一种计算机编程架构。实现了整体运算与独立运行的目的,大大加快编程速度,OOP具有,组件性,抽象性,封装,多态性,继承性等特征。现在大多数编程语言都采用种编程架构,最为精典的实例:“门与门铃的关系。”
7-2 ORM(Object Relational Mapping),对象关系映射,是一种为了解决面向对象与数据库存在的互不匹配现象的技术。通过使用描述对象(如,类)与数据库之间映射的元数据(如,列),将程序中的对象自动持久化到数据库中。ORM的产生是为了解决数据库中多对多及继承关系与实体间(类对象)关联与继承关系而做为一种中间件形式产生。ORM一般分为四部分。“一个对持久类对象进行CRUD操作的API,一个语言或API规定与类和类属性相关的查询,一个规定mapping metadata的工具,一种可以让ORM实现同事务对象一起进行的优化操作”
7-3 CRUD(Create,Read,Update,Delete),即数据库四大基本操作:新建,读取,更新,删除。
7-4 RAD(Rapid Application Develop),快速应用开发,一种软件开发技法,被称为原形开发,系统的完成印象经过几次制作,评价,接近于完成的开发技法。
7-5 TDD(Test Driver Development),测试驱动开发,一种开发技法,以测试作为开发过程的中心,要求在编写代码之前,首先编写用于定义产品代码行为的测试,而编写的系统代码又要以通过该测试为目标而编码的过程。要求测试可以完全自动地运行。基本做法为:“写一个测试程序,让程序编译通过,运行测试程序,若发现不能运行,让程序可以运行,去掉重复设计,优化设计结构”。由测试人员发现BUG,通过BUG来FIX的方式不是TDD开发。
7-6 YAML(不是任何首字母的缩写),并不只是(YAML Ain’t Markup Language)的缩写,并不只是做为能与XML共同作用于标记语言的一种,具有比XML更简单。初期以(Yet Another Markup Language,另一种标记语言)出现,但做为标记来说,YAML更注重数据,做为一种可以轻松阅读的数据序列化格式,使用了更清晰且结构极其紧凑的指示符且YAML的语法更介于与“实体”数据结构之间的语义,被常用于:“Python,PHP,Java,JavaScript,Perl,Ruby” 等语言中。
7-7 PEAR(PHP Extension and Application Repository),PHP扩展及应用代码仓库,从PHP4.0.4开始附着PHP的核心一起被发布,世界各地的PHP专业,非专业爱好者,基于PHP语言,按照PEAR代码开发标准开发,并在PEAR上公布的世界级PHP扩展类库。
7-8 PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成,多数以Dll(动态链接库)的形式体现,为比PEAR更快,但是与PEAR不同的是,PECL需要在服务器上配置并被注册到主机中,一般随PHP共同被发布,放于[Ext]或[Extension]目录中。(较常见的有mysql.dll, mysqli.dll,mem.dll等)
7-9 AJAX(Asynchronous JavaScript and XML),异步式JavaScrip调用XML,是一种将几项技术组合后产生一种创建交互式网页应用的开发技术,早被90年代后期被Microsoft与Netscape应用,但一直没有公开与定义,做为WEB2.0程序重要组件之一,提供BS下人机交互的友好性,随着带宽与多种语言的优化,推动了BS开发模式的发展。BS模式已成为当前较流行的开发模式之一,有远超过CS模式的势头。
No comments:
Post a Comment