symfony2实战入门信息录入
newlifeclan
2人收藏 2986次学习

symfony2实战入门信息录入

站在巨人肩膀上的phpweb框架

 

本文使用symfony2开发一个信息资料录入的小后台,这个小后台能够接触到登录、录入信息、查询、表单文件上传、分页等功能。哈哈,有的同志就很着急了,想直接写代码了。别着急,我们前期还要有一些准备工作,因为工欲善其事必先利器。不要随便找了一个编辑器,又随便找了一个集成环境(不是不提倡集成环境)哦,我个人其实不提倡这样(随便的态度)。从长远看这些都是基础知识一定要打好基础脚踏实地,养成好的习惯,才能让你的学习进度和代码掌握度飞速提升。下面开始了,这一章主要是介绍如何在各个平台上搭建你的symfony2环境和symfony2日常使用开发工具。

在各个平台搭建php环境

一.windows

在windows下主要介绍IIS+PHP+MYSQL,当然还有其他如apache和Nginx等,在windows下配置就不介绍了。如果以后大家急需时我再重点介绍。

下面开始:

1.首先安装iis

2.安装php下载地址 http://windows.php.net/download/(PHP官网 http://www.php.net)

3.安装mysql下载地址http://www.mysql.com/downloads/ (mysql官网 http://www.mysql.com)

具体细节可以点击这个链接查看
iis和php安装
http://www.cnblogs.com/haocool/archive/2012/10/14/windows-8-iis-to-configure-php-runtime-environment.html
mysql安装
http://jingyan.baidu.com/article/f79b7cb3a25e759144023ee7.html


二.ubuntu

这篇文章
http://www.cnblogs.com/wenanry/archive/2012/11/13/2767779.html


三.Mac OSX
1.可以使用集成环境
https://www.apachefriends.org/zh_cn/index.html
2.手动安装
php安装
http://php.net/manual/zh/install.macosx.php
mysql安装
http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html

必备工具(推荐)

1.phpstorm极其强大的php编辑器

http://www.jetbrains.com/phpstorm/ 如果引入symfony2项目默认识别并提示确认,完美支持symfony2。

此软件收费,但可试用30天。当然你也可以google或者baidu也是可以找到软件的注册码,你懂得。

2.mysql管理工具

mysql的管理工具有很多:

有web版的phpMyAdmin(http://www.phpmyadmin.net/)非常的方便
客户端有Navicat(http://www.navicat.com/)和SQLyog(https://www.webyog.com/product/sqlyog),功能强大友好。这个就看个人喜欢了。
3.你还需要一个有效解决国际网络环境的软件

https://www.juziplus.org/

注意:如果上面链接有变不能访问或配置不够系统,可留言。我会根据情况写一篇更系统和详细的配置过程。

第一步,我们要安装composer

composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。我们也使用它,来完成symfony的安装工作。

来到composer官方网站 http://getcomposer.org/ ,我们点击页面上的“Download”, 来到这个页面 http://getcomposer.org/download/
根据不同的系统下载相应的composer即可。composer有个中文网站也很完善 http://www.phpcomposer.com/。
本文章我们使用windows系统
在http://getcomposer.org/download/要找到Windows Installer并下载 Composer-Setup.exe

 

第二步,下载安装symfony

比如我们的程序要安装到C盘的webroot目录下,我们要启动命令行,输入以下命令

composer create-project symfony/framework-standard-edition /webroot/Symfony 2.5.*

比如我们的程序要安装到C盘的webroot目录下,我们要启动命令行,输入以下命令

symfony现在开始下载安装,在这个过程中会有一些信息需要输入

Would you like to install Acme demo bundle? [y/N] y   (如果你需要一个实例,你就要输入y)
 
database_driver (pdo_mysql):       (数据库驱动,如果使用mysql直接回车)
 
database_host (127.0.0.1):             (数据库主机,直接回车即可)
 
database_name (symfony):              (项目输入库名称,默认为symfony)
 
database_user (root):                         (数据库用户名)
 
database_password (null):                (数据库密码)
 
mailer_transport (smtp):                   (邮件的传输协议)
 
mailer_host (127.0.0.1):                   (邮件主机)
 
mailer_user (null):                               (邮件用户名)
 
mailer_password (null):                    (邮件密码)
 
locale (en):                                               (当前语言环境)
 
secret (ThisTokenIsNotSoSecretChangeIt): (秘钥)
 
debug_toolbar (true):                     (是否开启debug工具)
 
debug_redirects (false):                  (是否开启debug重定向)
 
use_assetic_controller (true):    (使用Assetic)

 

如果上面的信息输入有误,可打开 /webroot/Symfony/app/config/parameters.yml 进行修改。

第三步,IIS 设置symfony站点

让我们进入(Internet信息服务(IIS)管理器)界面,网站右键->添加网站

点击确定后,我们还不能使用域名去访问本地我们还需要进行一个设置
打开C:\Windows\System32\drivers\etc\hosts文件,在文件最后一行输入

127.0.0.1 nlcinformation.local

 

第四步,完成看看我们的页面吧

输入网址 http://nlcinformation.local/app_dev.php ,哈哈 偷着乐吧

还没完我们还需要写一个rewrite,如果你还没有安装iis重写模块,请点击 http://www.iis.net/downloads/microsoft/url-rewrite,安装重写模块完成后。

在symfony2的web目录下创建web.config,并添加下列规则

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
	<defaultDocument enabled="true">
        <files>
            <add value="app_dev.php" />
        </files>
    </defaultDocument>
        <rewrite>
        <rules>
            <rule name="Imported Rule 1" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                </conditions>
                <action type="Rewrite" url="app_dev.php" appendQueryString="true" />
            </rule>
        </rules>
    </rewrite>
    </system.webServer>
</configuration>

 

在浏览器中输入 http://nlcinformation.local/

先收工了,下一章节继续。

 

注意如果出现如下错误不要惊

第一
访问 http://nlcinformation.local/app_dev.php 时出现:

PHP Warning:  require_once(C:\webroot\Symfony\web/../app/bootstrap.php.cache): failed to open stream: Permission denied in C:\webroot\Symfony\web\app_dev.php on line 20
PHP Fatal error:  require_once(): Failed opening required 'C:\webroot\Symfony\web/../app/bootstrap.php.cache' (include_path='.;C:\php\pear') in C:\webroot\Symfony\web\app_dev.php on line 20

 

问题在于iis绑定web,那么symfony访问symfony其他文件出现权限问题
解决办法:给symfony文件夹,添加Users组读写访问权限。

第二
输入

composer create-project symfony/framework-standard-edition /webroot/Symfony 2.5.*

后出现

An error occured when executing the cache:clear –no-warmup


请查看 此链接 排查

加入1KE学习俱乐部

1KE学习俱乐部是只针对1KE学员开放的私人俱乐部