Symfony + jQuery 建立简单应用程序(持续完善中)

摘要

  本文利用Symfony PHP模板引擎,结合jQuery展现技术,建立简单的应用程序。

准备工作

  1. 配置LAMP或WAMP环境,安装PHP开发IDE;

  2. 安装Symfony,可以通过PEAR的方式或者官网推荐的composer的方式。

具体步骤

1.建立工程project_name: php symfony generate:project project_name;

   在Web下建立项目文件夹project_name(根据具体项目,此处仅作为演示),在该文件夹下手动建立目录 结构/lib/vendor,lib和vendor此时均为空的 文件夹;拷贝symfony-1.4.zip压缩包,解压到 project_name/lib/vendor下,重命名为symfony。打开cmd窗口,输入 php  ..\project_nam\lib\vendor\symfony\data\bin\symfony generate:project project_name命令,symfony自动创建项目和相关文件;

2.创建应用程序: 

命令行输入php symfony generate:app app_name;

注意app与app_name之间有个空格

3. 配置 httpd.conf和/hosts文件  

  在Apache安装路径下找到配置文件,默认安装路径:C:\Program Files\Apache Software Foundation\Apache2.2\conf,以文本方式编辑httpd.conf文件,最文件末尾添加如下设置:
# 请确保下面这行在配置文件只出现一次
NameVirtualHost 127.0.0.1:8080

# 这是针对 本项目project_name的配置
Listen 127.0.0.1:8080


<VirtualHost 127.0.0.1:8080>
  ServerName project_name.localhost
  DocumentRoot "G:\PHP\project_name_web"
  DirectoryIndex index.php
  <Directory "G:\PHP\project_name\web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf C:/php/pear/data/symfony/web/sf
  <Directory "C:/php/pear/data/symfony/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost></span>
8080端口是Apache提供服务的端口,若直接在服务器上,可以设置为80,这个在你配置LAMP环境的时候应该就了解到了。我采用的PEAR方式安装,Alias后的
C:/php/pear/data/symfony/web/sf

便是我的symfony安装路径。

4.Eclipse,导入项目

打开Eclipse,New-> PHP Project -> Create project at existing location.,选择project_name文件夹(注意网站的默认文件夹为project_name/web,与项目文件夹不同)。

5.配置project_name/config/database.yml

 在Eclipse中 打开project_name/config,根据本机设置,填写 dsn, username(数据登陆用户名),password(登陆数据库的密码),一般的安装教程

中会设root 和 123456 :)。

6.填写project/doctrine/schema文件,定义数据表

这步要特别注意YML文件的格式,语法可以参考官网,但一定要注意缩进,不然你会被莫名其妙的错误折腾死。缩进一律以空格形式,以下列作为参考

为了突出空格的重要性,示例中的缩进和空格以“▊”来表示:

User:
▊▊columns:
▊▊▊id:
▊▊▊▊type:▊integer(4)
▊▊▊▊primary:▊true
▊▊▊▊autoincrement: true
▊▊▊username:▊string(255)
▊▊▊password:▊string(255)
▊▊▊latitude:▊float
▊▊▊longitude:▊float

有几点比需要注意: 

1.数据表名(User)必须要顶格(前面不能有空格),后面要有冒号

2. 修饰(columns:、indexs等)比数据表名要缩进,不能顶格;

3. 项目名(数据表的列名,如id、username、password等)要比修饰字段缩进;4. 项目的属性名(type, primary等)要比项目名缩进;

5. 属性和属性的值之间,必须是冒号和空格!

在直接复制别人的YML文件时要格外注意缩进和空格,各位看官牢记!

7. 建立数据表

在cmd窗口输入 php symfony doctrine:build--all     (注意all前面是两个短线)建立数据库,可以通过MySQL查看到新建的数据表;

8.填写project/data/fixtures.yml 文件,填充测试数据

详细的格式说明可以见 官网教程。举个例子:
User:
  User_1:
    username: jwage
    password: changeme
  User_2:
    username: fabpot
    password: changeme
  User_3:
    username: dwhittle
    password: changeme

上例中,User顶格,表示插入哪张表,User_1、User_2和User_3是三条记录,username: jwage 是 “属性”:“值”对,冒号后有空格。string属性的值无需用引号,若是日期(date)或时间戳(timestamp)类型,则一般用单引号。

9.数据载入

在cmd命令行输入:
php symfony doctrine:data-load
会自动将fixutures.yml中的数据插入到指定的表中;

10.搭建后台(根据具体项目需要,可以略过)

若要在后台(后台应用名称取名为backend_app_name)创建管理module_name模块的cmd命令为:

php symfony doctrine:generate-admin backend_app_name module_name

此时可以通过:http://localhost:8080/project_name/backend_dev.php/module_name 进行后台查看。

11. 更新插件

命令输入 symfony plugin:publish-assets 更新插件,这样后台显示效果会好一点。

12. 生成前台首页和功能页面:

生成功能页面,如生成前端的首页命令为:
php symfonygenerate:module frontend home 
生成前端一个叫mudule_name的功能页面的命令为:
php symfony doctrine: generate-module frontend mudule_name Module_Name
请注意的不同之处! 
生成功能页面命令中,第一个用于访问的路径,就是可以通过在front_dev.php/后面的加上mudule_name来访问该功能页面
后一个是在第七步定义的数据表的名字。因此上面的命令就是根据数据表Module_Name生成一个浏览的模块,模块的访问地址为http://localhost:8080/project_name/frontend_dev.php/module_name

13.修改routing.yml文件,配置路由

这一步主要是访问方便,不配置也可。若不进行配置,则前台生成的页面通过 http://localhost:8080/project_name/frontend_dev.php/module_name来访问。

你可能感兴趣的:(PHP)