zoukankan      html  css  js  c++  java
  • Symfony2网站开发

    http://blog.csdn.net/liubei5/article/details/13290277

    最近历经半个月开发了一个新的网站  湖南英才网 ,这是我个人开发的第N个独立网站了,不过和往常不同的是,这次用了PHP Symfony2框架,期间经历了很多坎坷,特此记录。

    这是一个湖南地区的人才网站,提供简便的职位发布和简历投递,目前只开发了最基本的注册,包括社交网络注册,发布职位,简历投递、职位搜索等。

    为了快速开发,前端用的Bootstrap3.0,后端Symfony2、全文搜索用ElasticSearch

    刚开始时并不是用的Symfony2,而是用的Laravel4,用Laravel4开发了3天,后来我为什么抛弃了Laravel4呢,主要是因为它对模型层面处理的不是很好,需要手动赋值,不能更好的抽象到更高的级别、包括表单,也没有Symfony处理的优雅,文档没有Symfony2齐全等,所以果断转为Symfony2。

    用Symfony2开发也有缺点,就是配置文件过多,刚开始接触的话可能很反感这些配置文件,还有一个就是学习曲线较高,相对开发周期较长。优点是后期维护和扩展很容易,增加修改什么不会影响到已有功能,特别是Bundle机制,可以减少每个Bundle之间的耦合,在这个项目中我8个Bundle,包括UserBundle、MailBundle、JobBundle、……等等,这样编码时可以很清晰的找到对应的文件做开发,和其他Bundle完全隔离,需要时通过路由、模型做关联即可,当然还有一个好处就是PHPStorm对Symfony2支持比Laravel4要好的多,这样在编码时可以获得更多特性支持快速实现。

    1-5天利用Bootstrap3.0做出了网站页面ui,因为Bootstrap3用起来很方便,网站结构也相对简单,就没有做ue,简单考虑后直接开始Bootstrap3实现,实现后发现不合适则调整,知道满意。

    6-12天用Symfony2开发出了所需功能,期间包括编码,写测试用例,调整等,不得不说在开发阶段Symfony2帮了很大的忙,开发起来得心应手,偶尔遇到难题,官方手册和Google都帮了大忙,花时间较长的就是用新浪微博和QQ帐号登录,这个社交登录累计花了1天时间才搞定。

    13-15天上了职位搜索,期间考虑用Solr还是ElasticSearch,最后选择了后者,因后者配置,部署,扩展都相对比Solr要容易,更多的原因是Symfony2有对应的ElasticSearchBundle,拿来配置就能用,根本不需要做过多的编码。

    开发这个网站前后一共15天左右,包括周末、工作日的晚上,由于利用了已有的成熟的工具,所以可以大大减少开发周期和更好的处理错误和安全问题。开源真是个好东西,很多成熟的第三方Bundle可以重用,如果有不满足项目需求的则基于其扩展即可。

  • 相关阅读:
    Razor 视图
    可选参数和命名参数
    CPU性能分析工具原理
    从硬件到语言,详解C++的内存对齐(memory alignment)
    谈谈C++的volatile关键字以及常见的误解
    C++11的value category(值类别)以及move semantics(移动语义)
    C++基于范围循环(range-based for loop)的陷阱
    C++模板入门教程(一)——模板概念与基本语法
    自己动手实现深度学习框架-8 RNN文本分类和文本生成模型
    自己动手实现深度学习框架-7 RNN层--GRU, LSTM
  • 原文地址:https://www.cnblogs.com/kaeloy/p/3415357.html
Copyright © 2011-2022 走看看