Symfony学习-01

昨天学习了Symfony,照着文档把CRUD做了遍,趁今天有空闲,写下自己的感受。

1、组件化

似乎所有的功能都是已组件的形式引入到框架里面,之前用的CakePHP也是这种思路。

HttpFoundation Request Response其中就包括sessioncookie$_GET$_POST的操作

http://symfony.com/doc/current/components/http_foundation.html

2、面向对象

Cookie创建

$response = new Response();

$response->headers->setCookie(new Cookie('username', 'zhangsan',3600));

$response->send();

将相应头对象,cookie本身分离开, 虽然有点麻烦, 但是很清晰的描述了cookie的创建过程。

In PHP, the request is represented by some global variables ($_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, ...)

and the response is generated by some functions (echo, header(), setcookie(), ...).

谈到面向对象,就想起了ThinkPHP,感觉虽然标榜自己是面向对象,但是看过源码和在使用过程中,个人感觉更多的还是在面向过程。

3、文档排版不习惯

之前的MVC框架都是按照文档都是分布在对应的架构层里面,symfony的文档是按照组件划分的, 要查看文档,首先得知道要查找的类容属于一个组件。如果一点不了解框架的设计思路,还真找不到文档在哪里。就拿Cookie 和 Session来说,在CakePHP是单独的两个组件, 而Symfony把他们都加入到了HttpFoundation组件中,找了很久才找到,刚开始还以为是文档不全。

 

4、数据库操作显得繁琐

service容器中获取doctrine服务,--》获取对象管理器--》根据类名从对象容器中获取Entity实例--》获取数据对象

 

5、类似Java框架

感觉Symfony就是Java SpringStruts的翻版,之前一直在用PHP eclipse开发,但是突然发现,Entity类没有get set 自动生成,手动输入很麻烦。要是有Hibernate反向自动生成就更好了。也是了解了Symfony才知道有doctrine 这样一个ORM框架。在操作Doctrine 时候,工具没有提示功能。

自动生成get、set方法:

参考:https://stackoverflow.com/questions/41044462/symfony-3-auto-generate-boolean-getters-and-setters-isactive-vs-getactive

[root@localhost symfony_test]# php bin/console doctrine:generate:entities AppBundle:Book
Generating entity "AppBundle\Entity\Book"
  > backing up Book.php to Book.php~
  > generating AppBundle\Entity\Book
[root@localhost symfony_test]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值