Jobeet天1:启动该项目
介绍
symfob娱乐下载ony框架是一个开源项目三年多来,已成为最受欢迎的PHP开发框架由于其伟大的特性和伟大的文档。欧宝官网下载app这在早期开始伟大传统。
2005年12月,就在symfony的首次正式发布后,我们发表了“ob娱乐下载使用教程”,一组24教程,每天发表在12月1日和圣诞节之间。
本教程已经被证明是一个非常宝贵的工具,促进新框架。很多开发人员学到symfony谢谢使用,和许多公司仍然使ob娱乐下载用askeet作为他们的主要培训材料。
我们现在庆祝symfony 1.2的发布和使用教程开始显示其年龄。ob娱乐下载所以,是时候另一个新鲜的教程。
进入Jobeet, 2008出现日历教程!
所面临的挑战
这是正确的,我们将再做一次。包括场周末,每天一个新的教程将发表。每个教程是为了持续大约一个小时,并将学习symfony的场合,编码一个真实的网站,从开始到结束。ob娱乐下载
每天一小时乘以24等于,这正是我们认为开发人员需要学习多久symfony的基本原理。ob娱乐下载每一天,新功能将被添加到应用程序中,我们将利用这一发展向大家介绍新symfony功能以及良好的实践在symfony web开发。ob娱乐下载
使用,21天是“get-a-symfony-guru-for-a-day”。ob娱乐下载我们没有计划,社区必须提出一个使用添加特性。欧宝体育平台怎么样这是一个巨大的成功,获得了社区的决定,我们需要一个搜索引擎应用欧宝体育平台怎么样程序。我们做到了。21天的教程也被证明是最受欢迎的的使用教程。
对于Jobeet,我们将庆祝冬天21”设计的一天”。第四天之后,你将有所有需要的HTML和CSS信息开始设计Jobeet公共网站。所以,如果你使用一个设计师,或者如果你的公司有设计部门,你将能够提供一个设计。21日,我们将组织一个调查和社区将不得不选择默认设计将与Jobeet捆绑在一起。欧宝体育平台怎么样当然你会获得学分和所有与它相关的名声!
本教程是不同的
记得PHP4的早期。啊,拉好时代!PHP是第一个致力于网络和最简单的语言学习。
但随着网络技术的发展速度非常快,web开发人员需要跟上最新的最佳实践和工具。最好的学习方式当然是通过阅读博客、教程和书籍。我们读过很多,他们编写的PHP, Python、Java、Ruby、Perl,其中许多不足当作者开始给片段编码的例子。
你可能是用来阅读的警告:
”一个真正的应用程序中,别忘了添加验证和适当的错误处理。”
或
“安全是留给读者作为练习。”
或
“你当然会需要编写测试。”
什么?这些都是严重的业务。他们也许是最重要的部分的代码。作为一个读者,你独自离开。没有考虑这些问题,例子不太有用。你不能使用它们作为一个很好的起点。那是糟糕的!为什么?因为安全、验证、错误处理和测试,只是仅举几例,注意正确的代码。
在本教程中,你将永远不会看到语句类似我们将编写测试,错误处理,验证代码,并确保我们开发安全的应用程序。因为symfony是关于代码,ob娱乐下载但也对最佳实践,以及如何为企业开发专业应用程序。我们将能够负担得起这种奢侈,因为symfony提供了所需的所有工具代码这些方面容易没有写太多ob娱乐下载的代码。
验证、错误处理、安全性和测试是一等公民在symfony中,所以我们不会花太长时间去解释。ob娱乐下载这只是原因之一,很多使用一个“现实生活”项目的框架。
您将在本教程是阅读的所有代码的代码,您可以使用一个真正的项目。我们鼓励你复制粘贴的代码片段或偷取整块。
这个项目
应用程序的设计可能是另一个博客引擎。但是我们想使用symfony有用的项目ob娱乐下载。我们的目标是证明symfony可以用来开发专业应用程序风格和一些ob娱乐下载努力。
我们将保密项目的内容为另一天我们今天已经有许多事要做。但是,您已经知道应用程序的名称:Jobeet。
今天什么?
24小时是足够的时间来开发一个应用程序使用symfony,我们今天不会编写PHP代码。ob娱乐下载但即使没有写一行代码,你会理解使用像symfony框架的好处,只要引导一个新的项目。ob娱乐下载
天的目的是设置应用程序的开发环境,并显示一个页面在一个web浏览器。这包括安装symfony,创建应用程序和web服务器配置。ob娱乐下载
先决条件
首先,检查你已经有一个工作的web开发环境与web服务器(例如Apache),数据库引擎(MySQL、PostgreSQL或SQLite)和PHP 5.2.4或更高版本。
我们会使用命令行,最好使用一个类unix操作系统,但是如果你运行Windows系统,它还将工作很好,你只需要输入一些命令cmd
提示。
Unix shell命令在Windows环境中可以派上用场。如果你想使用工具
焦油
,gzip
,或grep
你可以安装在Windows上Cygwin。官方文档有点稀疏,因此可以找到一个好的安装指南在这里。冒险也喜欢微软的尝试Windows服务Unix。
本教程将主要集中在symfony框架,我们将假设您已经有了一个坚实的PHP 5和面向ob娱乐下载对象编程的知识。
ob娱乐下载Symfony的安装
首先,创建一个目录来托管文件Jobeet相关项目:
mkdir - p /home/sfprojects/jobeet cd /home/sfprojects/jobeet美元
在Windows上:
c: \ > mkdir c: \开发\ sfprojects \ jobeet c: \ > cd c: \开发\ sfprojects \ jobeet
Windows用户建议运行symfony和设置他们的新项目的路径不ob娱乐下载包含空格。避免使用
文档和设置
目录,包括在任何地方我的文档
。
创建一个目录来主办symfony框架库文件:ob娱乐下载
mkdir - p lib /供应商美元
安装symfony,下ob娱乐下载载归档文件包在symfony网站上找到ob娱乐下载。1.2本教程已经写了symfony,这个版本下载最新版本。ob娱乐下载
在“源下载”部分中,您将发现的档案. tgz
格式或. zip
格式。下载存档并把它在刚创建的lib /供应商
目录和un-archive:
$ cd lib /供应商最新焦油zxpf symfoob娱乐下载ny - 1.2美元。tgz mv syob娱乐下载mfony-1.2.0 symfony美元
Windows下解开压缩文件可以用资源管理器。后改名为目录ob娱乐下载
,应该有一个目录命名c: \开发\ sfprojects \ jobeet \ lib \供应商\ symfob娱乐下载ony
。
当PHP配置改变从一个分布到另一个,我们需要检查您的PHP配置满足symfony的最低要求。ob娱乐下载启动配置检查脚本提供symfony命令行:ob娱乐下载
$ cd . . / . .美元php lib /供应商/ sob娱乐下载ymfony / data / bin / check_configuration.php
如果有问题,输出会给你提示如何修复它。你也应该从浏览器执行检查PHP配置可以是不同的。web服务器根目录下拷贝文件和访问该文件。别忘了把文件从web根目录。
如果脚本不输出任何错误,检查是否正确安装symfony使用symfony命令行显示的版本(注意ob娱乐下载V
):
美元php lib /供应商/ sob娱乐下载ymfony / data / bin / symfony - v
在Windows上:
c: \ > cd . . \ . .c: \ php自由> \ bin \ ob娱乐下载\供应商\ symfony \数据symfony - v
如果你是好奇这个命令行工具可以帮你做什么,类型ob娱乐下载
列出可用的选项和任务:
美元php lib /供应商/ sob娱乐下载ymfony / data / bin / symfony
在Windows上:
c: \ php自由> \供应商\ syob娱乐下载mfony \ data \ bin \ symfony
symfob娱乐下载ony命令行是开发人员最好的朋友。它提供了很多工具,提高生产率等日常活动清理缓存,生成代码,等等。
项目设置
在syob娱乐下载mfony中,应用程序重新集结成共享相同的数据模型项目。Jobeet项目,我们将有两个不同的应用程序:一个前端和后端。
项目创建
从jobeet
目录,运行symfonyob娱乐下载生成:项目
任务来创建symfony项目:ob娱乐下载
美元php lib /供应商/ sob娱乐下载ymfony / data / bin / symfony生成:项目jobeet
在Windows上:
c: \ php自由> \ bin \ ob娱乐下载\供应商\ symfony \数据symfony生成:项目jobeet
的生成:项目
任务生成默认的目录结构和文件所需symfony项目:ob娱乐下载
目录 | 描述 |
---|---|
应用程序/ | 主机所有项目的应用程序 |
缓存/ | 文件缓存框架 |
配置/ | 项目配置文件 |
lib / | 项目和类库 |
日志/ | 日志文件的框架 |
插件/ | 安装的插件 |
测试/ | 单元测试和功能测试文件 |
web / | web根目录(见下文) |
为什么symfonob娱乐下载y生成很多文件?使用一个完整的框架的主要好处之一是标准化的发展。由于symfony默ob娱乐下载认文件和目录结构,任何开发人员与一些symfony的知识可以在任何symfony项目的维护。在几分钟内,他将能够深入代码,修复bug,并添加新特性。
的生成:项目
任务也创建了一个ob娱乐下载
快捷Jobeet项目根目录缩短字符数你要写一个任务运行时。
所以,从现在开始,而不是使用完全限定路径symfony项目,我们将使用ob娱乐下载ob娱乐下载
快捷方式。
应用程序创建
现在,通过运行创建前端应用程序生成:应用程序
任务:
美元php ob娱乐下载symfony生成:应用——escaping-strategy =——csrf-secret =独特ecret前端美元
symfonyob娱乐下载的文件是可执行的,Unix用户可以替换出现的所有的php symfony的”。/ob娱乐下载 symfony的从现在开始。
在Windows上你可以复制“symfony。ob娱乐下载蝙蝠的文件到您的项目并使用symfony”而不是“php symfonob娱乐下载y”:
c: \ lib \ >副本供应商\ syob娱乐下载mfony \ data \ bin \ symfony。蝙蝠。
再一次,生成:应用程序
任务创建默认的下一个应用程序所需的目录结构应用程序/前端
目录:
目录 | 描述 |
---|---|
配置/ | 应用程序配置文件 |
lib / | 应用程序库和类 |
模块/ | 应用程序代码(MVC) |
模板/ | 全球模板文件 |
所有
ob娱乐下载
命令必须在项目根目录下运行,除非显式表示。
当调用生成:应用程序
任务,我们还通过两个安全相关的选项:
——escaping-strategy
:使输出转义,以防止XSS攻击——csrf-secret
:使会话令牌的形式来阻止CSRF攻击
通过这两个任务的可选的选项,我们获得了我们的未来发展的两个最普遍的漏洞在网上找到。没错,symfony会自动代ob娱乐下载表我们采取安全措施。
symfob娱乐下载ony的路径
你可以使用的symfony版本项ob娱乐下载目通过键入:
php syob娱乐下载mfony美元- v
的- v
选项也显示symfony安装目录的路径,即被发现ob娱乐下载配置/ ProjectConfiguration.class.php
:
/ /配置/ ProjectConfiguration.class.phprequire_once/用户/法/工作/ symfony / ob娱乐下载dev / 1.2 / lib /自动装载/ sfCoreAutoload.class.php ';
为了更好的可移植性,改变安装symfony的绝对路径相对:ob娱乐下载
/ /配置/ ProjectConfiguration.class.phprequire_once目录名(__FILE__)。“/ . . / lib /供应ob娱乐下载商/ symfony / lib /自动装载/ sfCoreAutoload.class.php”;
这样,你可以在任何地方移动Jobeet项目目录在您的机器上或另一个,它只会工作。
的环境
如果你看一看web /
目录,你会发现两个PHP文件:index . php
和frontend_dev.php
。这些文件被称为前端控制器:所有请求应用程序通过。但是为什么我们前面有两个控制器只有一个应用程序定义的?
两个文件指向相同的应用程序,但在不同的环境中。当你开发一个应用程序中,除非你直接在生产服务器上开发,你需要几个环境:
- 的开发环境:这是使用的环境web开发人员添加新功能,修复bug,…
- 的测试环境:这个环境是用于自动测试应用程序。
- 的登台环境:使用这个环境客户测试应用程序和报告错误或缺失的功能。
- 的生产环境这是环境的一个最终用户与之交互。
是什么让一个独特的环境?在开发环境中,应用程序需要日志的所有细节要求减轻调试,它必须在浏览器中显示异常,但缓存系统必须禁用所有更改代码必须被考虑。因此,开发人员的开发环境必须优化:
但是在生产环境中,应用程序必须显示定制的错误消息,而不是原始的例外,当然,缓存层必须被激活。因此,必须优化生产环境的性能和用户体验。
syob娱乐下载mfony的环境是一个独特的配置设置和symfony其中三个捆绑在一起:dev
,测试
,刺激
。
如果你打开前端控制器文件,您将看到,唯一的区别是环境设置:
/ /网络/ index . php< ? phprequire_once(目录名(__FILE__)。“/ . . / config / ProjectConfiguration.class.php”);美元配置= ProjectConfiguration::getApplicationConfiguration(“前端”,“刺激”,假);sfContext::createInstance除外(美元配置)- >调度();
定义一个新的symfony环境ob娱乐下载非常简单,只需创建一个新的前端控制器。稍后我们将看到如何改变一个环境的设置。
Web服务器设置:丑陋的方式
在前面的小节中,创建了一个目录Jobeet项目。如果您已经创建了您的web服务器的web根目录下的某个地方,你可以在web浏览器中访问项目。
当然,由于没有配置,如果是快速建立,但尝试访问配置/ databases.yml
文件在您的浏览器来理解这种懒惰的态度的不良后果。
不要使用这个设置在生产服务器和阅读下一节,了解如何正确地配置您的web服务器。
Web服务器设置:安全的方法
良好的web实践是将web根目录下的文件需要通过web浏览器访问喜欢的样式表,javascript,或图像。默认情况下,我们推荐下存储这些文件网络
symfony项目的子目录。ob娱乐下载
如果你看一看这个目录,你会发现一些对网络资产的子目录和两个前端控制器文件。前端控制器是唯一的PHP文件,需要在web根目录下。所有其他PHP文件从浏览器可以隐藏,这是一个好主意就安全而言。
Web服务器配置
现在是时候改变你的Apache配置新项目访问世界。
找到并打开httpd . conf
最后配置文件,添加以下配置:
#确保只有这条线在您的配置NameVirtualHost 127.0.0.1:8080 #这是配置Jobeet听127.0.0.1:8080 < VirtualHost 127.0.0.1:8080 > DocumentRoot“/ home / sfprojects / Jobeet /网络”DirectoryIndex指数。php <目录“/ home / sfprojects / jobeet /网络”> AllowOverride所有允许从< /目录>别名/科幻/usr/local/symfony/data/web/sf <目录“/ usr ob娱乐下载/地方/ symfony /数据/ web /科幻”> AllowOverride所有允许从< /目录> < /虚拟主机>
的
/科幻
别名给你图片和javascript文件需要正确显示默认symfony页面和web调试工具栏。ob娱乐下载在Windows上,您需要更换
别名
与类似的行:别名/科幻“c: \开发\ symfony \ daob娱乐下载ta \ web \科幻”
/home/sfprojects/jobeet/web
应该替换为:c: \ \ sfprojects \ jobeet \ web开发
这种配置使Apache听端口8080年
在您的机器上,所以Jobeet网站将访问以下网址:
http://localhost: 8080 /
你可以改变8080年
由任意数量但更喜欢数字大于1024,它们不需要管理员权限。
为Jobeet配置专门的域名
如果您的机器上的管理员,最好设置虚拟主机而不是添加一个新的端口每次你启动一个新项目。而不是选择一个端口,并添加一个
听
声明中,选择一个域名,并添加一个ServerName
声明:#这是配置Jobeet < VirtualHost 127.0.0.1:80 > ServerName Jobeet。localhost < !——和以前相同的配置——> < /虚拟主机>
域名
jobeet.localhost
必须是本地声明。如果你运行的Linux系统,它必须做的设置
文件。如果您运行Windows XP,这个文件位于C:\WINDOWS\system32\drivers\etc\
目录中。添加以下行:
127.0.0.1 jobeet.localhost
测试新的配置
重新启动Apache,检查,你现在可以访问打开一个浏览器并输入的新应用程序http://localhost: 8080 / index . php
,或http://jobeet.localhost/index.php/
取决于你选择的Apache配置。
如果你有Apache
mod_rewrite
模块安装,您可以删除/索引。php /的所有url的一部分。
你也应该尝试访问应用程序在开发环境中。输入以下URL:
http://jobeet.localhost/frontend_dev.php/
web调试工具栏应该显示在右上角,包括小图标证明你三藩市/
别名配置是正确的。
设置略有不同,如果你想IIS服务器上运行symfony的Windows环境。ob娱乐下载找到如何配置它相关教程。
颠覆
这是一个很好的练习使用源代码版本控制在开发一个web应用程序。允许我们使用源代码版本控制:
- 工作充满信心
- 恢复到以前的版本如果改变破坏了一些东西
- 允许一个以上的人对项目有效地工作
- 获得所有的连续版本的应用程序
在本节中,我们将描述如何使用颠覆symfoob娱乐下载ny。如果你使用另一个源代码控制工具,它必须很容易适应我们描述的颠覆。
我们假设您已经使用Subversion服务器。
如果你没有Subversion服务器在处理,您可以创建一个免费谷歌代码或者只是类型“自由subversion存储库”在谷歌有更多的选项。
首先,创建一个新的存储库jobeet
项目:
svnadmin创建http://svn.example.com/jobeet svn mkdir - m美元“创建默认目录结构”http://svn.example.com/jobeet/trunk http://svn.example.com/jobeet/tags http://svn.example.com/jobeet/branches
然后,删除的内容缓存/
和日志/
目录,因为我们不想把它们放进存储库。
cd /home/sfprojects/jobeet rm美元射频缓存日志/ * / * $ rm射频
现在,一定要设置缓存和日志目录的写权限到适当的水平,这样您的web服务器可以写:
chmod 777美元缓存日志chmod 777美元
接下来,做第一个导入:
svn美元进口- m”最初的进口”。http://svn.example.com/jobeet/trunk
我们永远不会想提交文件位于缓存/
和/日志
目录,您需要指定一个忽略列表:
美元svn propedit svn:忽略缓存
的默认文本编辑器配置SVN应该发射。Subversion必须忽略这个目录的内容:
*
保存并退出。你就完成了。
重复的过程日志/
目录:
美元svn propedit svn:忽略日志
并输入:
*
最后,提交这些更改存储库:
svn commit - m美元“添加缓存/和日志内容忽略列表”
Windows用户可以使用TortoiseSVN客户端管理他们的subversion存储库。
Jobeet SVN存储库将被公开。
所以,即使整个存储库还没有公开(
http://svn.jobeet.org/
),今天的代码已经提交和标记。你可以付款
release_day_01
:svn co http://svn.jobeet.org/tags/release_day_01/ jobeet /美元
明天见
好吧,今天时间已经结束!即使我们尚未开始谈论symfony,我们设置一个坚实的开发环境中,我们已经讨论了web开发最ob娱乐下载佳实践,我们准备开始编码。
明天,我们将显示应用程序将做什么,开始深入symfony。ob娱乐下载,如果你想保持联系的最新Jobeet新闻,别忘了订阅欧宝平台是合法的吗ob娱乐下载symfony的博客提要。
明天一定要回来!
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
只是遇到2 svn部分拼写错误:
——付款之前改变propedits被省略了
——“承诺”,而不是“进口”最后一个svn命令。
在windows上,我发现命令参数失败如果没有引用(“——escaping-strategy =”,看到trac # 4316)。
一页的链接注册并打开一张票教程页面上的失败。
再次感谢你的伟大的工作。
解析错误:语法错误,意外T_OBJECT_OPERATOR /home/ / symfony / jobeet / lib /供应商ob娱乐下载/ symfony / data / bin / symfony联机16
但你不应该显示如何重启使网站重新加载服务器:
a2ensite jobeet
/etc/init.d /输入重新加载
和你不觉得别名/虚拟主机的科幻小说应该是这样的:
别名/科幻/home/sfprojects/jobeet/lib/vendor/symfoob娱乐下载ny/data/web/sf
而不是/usr/local/symfony/ob娱乐下载data/web/sf ?
问候
我先说这1.2 jobeet教程是一个好主意,它一定会帮助过渡到1.2 !
我阅读第一天我看到你安装symfony盖/供应商文件夹。ob娱乐下载
但是当你设置apache,你/科幻别名指向其他一些地方。这个地方可能是梨的地方安装symfony和人们使用梨,这可能是路要走。ob娱乐下载但是我认为对于本教程的一致性,这将是很高兴一切相对于lib /卖主文件夹设置。
所以我猜apache别名指令应该被改变。
这只是一个建议,我认为这也将帮助新来的人是对的。
谢谢
在“Web服务器设置:丑陋的方式”,第二段,它说“如果是快速建立”。大概这应该是“快速设置”(没有“如果”)。
我没有看到设置域名的优势,和我不喜欢鼓励Windows用户编辑系统文件。相反,我为所有使用别名(没有虚拟主机)。这需要改变RewriteBase在. htaccess文件中,但至少现在变化仅限于Apache和web站点配置。
——为Windows用户在服务器端和客户端,我建议CwRsync:
http://www.itefix.no/i2/node/10650
客户端组件包括Cygwin、SSH和Rsync客户机和服务器组件提供一个窗口打开SSH服务器的端口和Rsync服务器,所有免费。(我发现Rsync Symfony,它是难以置信的ob娱乐下载)
——Windows用户在服务器端,还要注意,Symfony运行很好与ASP.net和IIS应用程序,使用faob娱乐下载stcgi:
http://www.iis.net/php
和离子重写URL重写:
http://www.codeplex.com/IIRF
这些都是免费的。
迁移到symfony ob娱乐下载1.2:)
svnadmin创建http://..。
它说“是一个URL应该是一个路径”
我试图运行该命令在我与整个项目目录
“cygdrive / d /发展/ sfprojects / jobeet”
(使用cygwin在Vista下)
最好是问在论坛或报道Trac的bug。但快速的答案是建立Subversion存储库目录(例如mkdir / cygdrive / d / svnrepository),然后使用svnadmin创建/ cygdrive / d / svnrepository / jobeet。这只会使用Subversion的Cygwin版本。如果你使用Subversion的Windows版本,你需要一个Windows路径,例如svnadmin创建“d: / svnrepository / jobeet”。(是的,Windows将能很好地接受正斜杠,这比拥有更容易逃避反斜杠)。
php lib /供应商/ sob娱乐下载ymfony / data / bin / check_configuration.php
但是遇到一个问题:
当我想要生成项目时,它告诉我,我必须在symfony项目目录。ob娱乐下载
试图找到一个解决方案,但不能。帮忙就好了吗?
改变的,但并不理想。