symfony3是一款开源的php web框架,基于最佳web开发时间,可以加快web应用的创建和维护。具有ajax支持、多語言與I18N支持、搭建基础模块的特点,新版本采用了全新的机制,帮助用户更容易进行代码编写和读取,需要的朋友赶快下载吧!

軟件特色
Ajax支持
緩存管理
自定義URLs
簡單的模板功能
多語言與I18N支持
搭建了一些基礎模塊
采用對象模型與MVC分離
軟件特性
所包涵的觀念
它是基于以下的一些觀念的:
*盡可能的兼容更多的開發環境
*易于安裝和配置
*簡單易學
*企業級應用
*規定而非配置,支持回調
*在大多數情況下簡潔明了,但是有足夠的彈性爲複雜情況做准備
*包含大多數網站的共性
*适应大多数 web “最佳实践(best practices)” 和 web “设计模式(design patterns)”
*非常易讀的代碼、輕松維護
*開源
這些主要的基本概念突出了symfony的框架是使更多的公共任務自動完成,以使開發人員能夠完全專注于一項應用任務的特殊細節所在。而在每次一個新的web應用建立的時候不需要重新反複勞動。
兼容的數據庫
爲了實現這些需求,symfony完全由PHP5寫成。它已經徹底的在各種現實項目應用中被測試過,並且實際上已經應用于一些高要求的電子商務網站。它可以同大多數現有的數據庫兼容,具體如下:
*MySQL
*PostgreSQL
*Oracle
*MSSQL
*和其他數據庫(如果安裝了Creole驅動)
結構
symfony的對象模型依賴于以下三個獨立的層:
*数据库抽象层(a database abstraction)
*对象关系映射层(an object-relational mapping)
*用于负责前台显示和后台事务的 模型-视图-控制器 模式层(a Model-View-Controller model for the front and back-office)
開發環境和捆綁
另外爲了滿足企業已有的編碼規範和項目管理規則,symfony可以全部重新用YAML配置文件。它是默認提供的幾個開發環境,和捆綁:
*原型(prototyping)
*内容管理(content management)
*live configuration changes
*部署(deployment)
*单元测试(unit testing)
*应用测试(applicative testing)
*日志記錄(logging)
*調試(debugging)
應用開源項目
Symfony用到了其他一些開源項目的代碼:
*Creole, 用于数据库抽象层(for the database abstraction layer)
*Propel, 用于对象关系映射层(for the object-relational mapping layer)
*Mojavi, 用于MVC模型层(for the Model-View-Controller model layer)
web項目的公共特性
web項目的公共特性可以轻易的由symfony自动得到:
*國際化(internationalization)
*模板和助手(templating with helpers)
*表单确认(form validation)
*緩存管理(cache management)
*购物车管理(shopping cart management)
*简洁的路径(smart URLs)
*scaffolding
*发送邮件(email sending)
*分頁(Pagination)
*AJAX交互(AJAX interactions)
symfony3框架內容
新機制
一个框架結構在编程语言之上加入了新的机制,并且这些机制能够为许多特定的目标自动提供一些开发模式。一个框架結構同样为编码增加了結構,并且促使程序员编出更好、更易读的、有持续性的代码。一个框架結構能让编程变得更加简单,因为它把复杂的程序封装成了简明的陈述。
一個框架的發展通常是以它所使用的語言所延伸出來的。一個php5框架是由一系列的用php5寫成的文件組成的。
層次
一个框架将为应用划分出層次。从整体上来说,它可以将应用分为三个層次:
◆表现逻辑层(presentation logic) 用于处理用户与軟件之间的交互
◆数据源逻辑层(data source logic) 提供了一个数据库同其他数据提供者的联系通道。
◆范围逻辑层(domain logic),或者叫事务逻辑层(business logic),这是剩余的部分。它包括关于输入的计算、处理表现层中的数据,以及根据从表现层收到的指令分派调度数据源逻辑层。
網絡應用框架
網絡應用框架致力于促进网络应用的开发(websites,intranets,等等)。建立一个基本的动态网站可以从现有的编程语言中轻易的实现,而PHP的知名就是由于它的简易性被广泛的应用。只需要php,你就可以查询数据库、管理会话(session,cookies)、访问服务器端文件等等。而当你需要构建一个更加复杂的站点,当事务逻辑大大的增加了用于维护的编码量的时候,你就需要一个网络应用的框架出现了。
symfony命令行詳解
输入php app/console
就可以進入console控制台
選項:
--help -h 显示本帮助信息
--quiet -q 不输出任何信息
--verbose -v 增加信息的详细程度
--version -V 显示本程序的版本号
--ansi 强制ANSI输出
--no-ansi 禁止ANSI输出
--no-interaction -n 不进行任何交互问题的询问
--shell -s 启动shell
--process-isolation 用shell作为一个单独的进程启动命令
--env -e 环境名
--no-debug 关闭调试模式
可用的命令:
Available commands:
help 显示命令的帮助信息
list 命令列表
assetic
assetic:dump 将所有asset保存到文件系统。
assets
assets:install 在公用网站目录中安装各Bundle网站的asset。
cache
cache:clear 清除缓存
cache:warmup Warms up一个空的缓存
config
config:debug 将当前配置扩展
config:dump-reference 将默认配置扩展
container
container:debug 为应用程序显示当前服务
debug
debug:config 将当前配置的扩展
debug:container 显示应用程序的当前服务
debug:event-dispatcher 显示应用程序的配置监听器
debug:router 显示应用程序的当前路径
debug:swiftmailer 显示应用程序的当前邮件
debug:translation 显示消息信息的翻译
debug:twig 列表显示Twig的功能,过滤器,全局变量和测试
doctrine
doctrine:cache:clear-metadata 为一个实体管理器清除所有的元数据缓存。
doctrine:cache:clear-query 为一个实体管理器清除所有的查询缓存
doctrine:cache:clear-result 为一个实体管理器清除结果缓存
doctrine:database:create 创建一个已配置的数据库
doctrine:database:drop 删除一个已配置的数据库
doctrine:ensure-production-settings 确认在生产环境下Doctrine的配置是正确的
doctrine:generate:crud 基于Doctrine实体生成增删改查(CRUD)
doctrine:generate:entities 从您的映射信息中生成实体类和方法的存根
doctrine:generate:entity 生成Bundle中的新Doctrine实体
doctrine:generate:form 基于Doctrine实体生成一个表单类型类
doctrine:mapping:convert 在支持的格式间转换映射信息
doctrine:mapping:import 从已存在的数据库中导入映射信息
doctrine:mapping:info 显示所有被映射实体的基本信息
doctrine:query:dql 直接从命令行中运行任何的DQL
doctrine:query:sql 直接从命令行中运行任何的SQL
doctrine:schema:create 执行(或转储)生成数据库方案所需的SQL语句
doctrine:schema:drop 执行(或转储)删除数据库方案所需的SQL语句
doctrine:schema:update 执行(或转储)更新匹配当前映射元数据数据库方案所需的SQL语句
generate
generate:bundle 生成Bundle
generate:controller 生成一个控制器
generate:doctrine:crud 基于Doctrine实体生成CRUD
generate:doctrine:entities 从您的映射信息中生成实体类和方法的存根
generate:doctrine:entity 在Bundle中生成一个Doctrine的新实体
generate:doctrine:form 基于Doctrine实体生成一个表单类型类
init
init:acl 在数据库中安装ACL数据表
orm
orm:convert:mapping 转换支持格式之间的映射信息
router
router:debug 为应用程序显示当前路由
router:dump-apache 将所有路由转储为Apache重写规则
security
security:check 检查你的项目依赖项的安全问题
server
server:run 运行PHP内置的Web服务器
server:start 在后台开始PHP内置的Web服务器
server:status 输出给定地址的内置Web服务器的状态
server:stop 从服务器的启动命令停止PHP内置的Web服务器
swiftmailer
swiftmailer:debug 显示应用程序的当前邮件
swiftmailer:email:send 简单的邮件发送
swiftmailer:spool:send 从池中发送电子邮件
translation
translation:debug 显示消息信息的翻译
translation:update 更新翻译文件
twig
twig:debug 列表显示Twig的功能,过滤器,全局变量和测试
twig:lint lint一个模板输出遇到的错误
yaml
yaml:lint lint一个文件输出遇到的错误