http://blog.csdn.net/kunshan_shenbin/article/details/7164675

参考自:http://xsymfony.801.cxne.net/forum.php?mod=viewthread&tid=12&rpid=459&page=1

在创建项目之前,首先需要搭建symfony发开环境。http://blog.csdn.net/kunshan_shenbin/article/details/7162243

1. 创建工作目录,生成项目文件

>md cms

>cd cms

>symfony generate:project cms

>symfony generate:app frontend

>symfony generate:app backend

2. Apache下配置项目(新建虚拟主机)

  1. <VirtualHost *:1300>
  2. DocumentRoot "D:\Work\PHP\cms\web"
  3. DirectoryIndex index.php
  4. <Directory "D:\Work\PHP\cms\web">
  5. AllowOverride All
  6. Allow from All
  7. </Directory>
  8. Alias /sf D:\xampp\php\data\symfony\web\sf
  9. <Directory "D:\xampp\php\data\symfony\web\sf">
  10. AllowOverride All
  11. Allow from All
  12. </Directory>
  13. </VirtualHost>

注意:

以上配置需要添加在httpd-vhosts.conf文件中,并在httpd.conf中打开对相应端口的监听。

当然,我们也可以通过修改hosts文件添加相应的域名解析。这里略过( 使用localhost ) 。

重启Apache后,通过访问http://localhost:1300/ 可以看到symfony工程欢迎页面。

从这里开始,我们可以选择一个顺手的IDE打开工程,以便更好的发开项目。

3. 配置并创建数据库

打开工程下config中的databases.yml文件,修改数据库连接的参数。

  1. # You can find more information about this file on the symfony website:
  2. # http://www.symfony-project.org/reference/1_4/en/07-Databases
  3. all:
  4. doctrine:
  5. class: sfDoctrineDatabase
  6. param:
  7. dsn:      mysql:host=localhost;dbname=cms
  8. username: root
  9. password: root

定义schema ( cms/config/doctrine/schema.yml )

  1. Category:
  2. columns:
  3. name: string(50)
  4. description: string(1000)
  5. Content:
  6. actAs:
  7. Timestampable: ~
  8. columns:
  9. title: string(255)
  10. body: clob
  11. view_count: integer
  12. recommend_level:
  13. type: enum
  14. values: [0, 1, 2]
  15. default: 2
  16. category_id: integer
  17. relations:
  18. Category:
  19. local: category_id
  20. foreign: id
  21. foreignAlias: Contents
  22. Comment:
  23. columns:
  24. body: clob
  25. user_id: integer
  26. content_id: integer
  27. relations:
  28. Content:
  29. local: content_id
  30. foreign: id
  31. foreignAlias: Comments

运行如下指令:

>symfony doctrine:build --all

4. 导入测试数据

打开cms/data/fixtures/fixtures.yml文件,输入测试数据

  1. # # Populate this file with data to be loaded by your ORM's *:data-load task.
  2. # # You can create multiple files in this directory (i.e. 010_users.yml,
  3. # # 020_articles.yml, etc) which will be loaded in alphabetical order.
  4. # #
  5. # # See documentation for your ORM's *:data-load task for more information.
  6. #
  7. # User:
  8. #   fabien:
  9. #     username: fabien
  10. #     password: changeme
  11. #     name:     Fabien Potencier
  12. #     email:    fabien.potencier@symfony-project.com
  13. #   kris:
  14. #     username: Kris.Wallsmith
  15. #     password: changeme
  16. #     name:     Kris Wallsmith
  17. #     email:    kris.wallsmith@symfony-project.com
  18. Category:
  19. c1:
  20. name: 巴西
  21. description: 南美球队
  22. c2:
  23. name: 英国
  24. description: 欧洲球队
  25. c3:
  26. name: 加纳
  27. description: 非洲球队
  28. Content:
  29. t1:
  30. title: 卡卡助攻
  31. body: ......
  32. view_count: 6
  33. recommend_level: 0
  34. Category: c1
  35. Comments: [m1, m2]
  36. t2:
  37. title: 鲁尼没有大作为
  38. body: ......
  39. view_count: 10
  40. recommend_level: 1
  41. Category: c2
  42. Comment:
  43. m1:
  44. body: 很赞
  45. m2:
  46. body: 太不尽人意了。

运行如下指令:

> symfony doctrine:data-load

5. 接下来我们开始着手生成后台的管理页面:

>symfony doctrine:generate-admin backend Category

>symfony doctrine:generate-admin backend Content

>symfony doctrine:generate-admin backend Comment

通过如下地址访问页面(开发环境入口)

http://localhost:1300/backend_dev.php/category

http://localhost:1300/backend_dev.php/content

http://localhost:1300/backend_dev.php/comment

然后运行如下指令添加css等样式资源:

>symfony plugin:publish-assets

再次访问后页面会比原来漂亮很多。

在windows上使用symfony创建简易的CMS系统(一)的更多相关文章

  1. 004.Create a web app with ASP.NET Core MVC using Visual Studio on Windows --【在 windows上用VS创建mvc web app】

    Create a web app with ASP.NET Core MVC using Visual Studio on Windows 在 windows上用VS创建mvc web app 201 ...

  2. 在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译)

    这篇博客介绍下在Windows上使用Docker 创建MongoDB 三节点副本集的最简单的方法.以下命令需要Docker for Windows并使用Linux 容器. 1: 为每个节点创建数据卷 ...

  3. 用dedecms自定义表单创建简易自助预约系统

    建站往往需要根据客户的需求来增加相应的功能,比如预约.平时用比较多的是织梦系统,那么如何用dedecms自定义表单创建简易自助预约系统呢? 进入dedecms后台,左侧菜单中依次点击“核心” - 频道 ...

  4. 【python安装】Windows上安装和创建python开发环境

    1. 在 windows10 上安装python开发环境 Linux和Mac OS都自带python环境,但是Windows没有,所以需要自行安装. 第1步:访问 python官网,下载Windows ...

  5. windows上通过vnc连接虚拟机中linux系统

    首先要在虚拟机中安装vnc. 虚拟机的设置中要启用VNC连接. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHdzc2c=/font/5a6L5L2T/ ...

  6. 峰回路转:去掉 DbContextPool 后 Windows 上的 .NET Core 版博客表现出色

    今天早上,我们修改了博客程序中的1行代码,将 services.AddDbContextPool 改为 services.AddDbContext ,去掉 DbContextPool . 然后奇迹出现 ...

  7. Windows Azure 上的 Symfony,适用于 PHP 开发者的强大组合

     发布于 2014-06-13 作者 陈 忠岳 Symfony 是针对 PHP 开发者的流行开源 Web 应用框架.现在,您可以更轻松地在 Windows Azure 上使用它,这都归功于 Ben ...

  8. 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】

    Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...

  9. windows上通过secureCRT和putty创建密钥登录

    前面介绍了linux的ssh远程登录协议和ssh无password登录方式.这里在windows下通过secureCRT和putty登录linux来看一下详细的密钥创建,配置和登录.也算做个备忘录吧. ...

随机推荐

  1. js设计模式-单例模式

      JavaScript中的单例模式是最常用的.最基本的设计模式,它提供了一种命名空间,减少全局变量泛滥的代码管理机制: 1.最常见的单例模式: [javascript] view plain cop ...

  2. sqlserver分区表实践:对时间分区表自动进行管理

    项目问题:有一张日志表,插入和查询为主,每天记录数据为200多万,大小为2G-4G之间.一开始开发人员使用delete语句手动删除,保留7天数据,经常造成阻塞和性能瓶颈.但是如果不删除数据随着表越来越 ...

  3. Ubuntu系统使用记录(持续更新)

    本篇文章记录在虚拟机上跑Ubuntu16.04遇到的一系列问题,熟悉一下Ubuntu的相关操作,进入终端的方法ctrl+alt+t. 1.修改屏幕分辨率,进入系统默认的是800x600 即便能够进入s ...

  4. MyEclipse各种操作

    MyEclipse console没有显示的解决方法  1.进window菜单 ->show view->console    2.还是window菜单->preferences-& ...

  5. Webservice SOAP传输序列化总结 以及webservice之序列化以及反序列化实例

    一.所有Webservice中传递的对象都必须能够序列化,这个是作为在网络之间传输的必要条件.XML WebService和SOAP标准支持的数据类型如下: 1.基本数据类型. 标准类型,如:int ...

  6. Vue.js学习 Item1 --快速入门

    我们以 Vue 数据绑定的快速导览开始.如果你对高级概述更感兴趣,可查看这篇博文. 尝试 Vue.js 最简单的方法是使用 JSFiddle Hello World 例子.在浏览器新标签页中打开它,跟 ...

  7. php文件hash算法,秒传原理

    header('Content-type:text/html;Charset=UTF-8'); define('blockSize', 4*1024*1024); var_dump(fileHash( ...

  8. php下intval()和(int)转换有哪些区别

    想知道使用intval()和(int)转换有什么区别? 或者说两者有什么不同,包括功能.定义方面的.或者和使用频率.效率等. 复制代码代码如下: <?php  echo "<br ...

  9. mysql报错Table '.\erchina_news\v9_search' is marked as crashed and should be repaired

    直切正题 报该问题的是表引导坏了,需要修复表就行 方法一: 找到mysql的安装目录的bin/myisamchk工具,在命令行中输入: myisamchk -c -r ../data/erchina_ ...

  10. FaceBook微光闪烁---第三方开源--shimmer-android

    Android上的微光闪烁shimmer效果,实现的手段不少,其中比较好的是facebook做的开源库:shimmer-android,其在github上的项目主页是:https://github.c ...