为了账号安全,请及时绑定邮箱和手机立即绑定

洪大师带你解读Symfony 2框架

洪涛 其它
难度中级
时长 8小时44分
学习人数
综合评分9.70
28人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.6 逻辑清晰

讲师回答 / 洪涛
自定义方法和filter可以参考这个文章:http://symfony.com/doc/current/cookbook/templating/twig_extension.html 简单来说流程就是:创建一个类继承Twig_Extension然后在这个类里写你的各种方法/filter的具体逻辑把这个类注册成一个twig的插件(使用service)在模板里调用

讲师回答 / 洪涛
这错有点像是python抛出来的,你确定你的运行环境正常么,app/console其实调用的是app这个目录里的console这个程序,你确定一下你的执行目录下是否有app这个目录以及目录里是否有console这个程序?比较保险的方法是php app/console这样使用,至少可以强制指定是使用php去运行console这个程序。

讲师回答 / 洪涛
这个问题没有你想象的那么简单,因为不管你最终怎么分,核心问题是分表之间的数据无法很好地整合成一个数据结果集,比如你对user表进行取模分表,如何实现搜索所有大于10岁的用户这种简单的操作?而且外键关系也会完全打乱,其他表里的user_id到底对应的是哪个user表里的id?从项目定位上,doctrine2的dbal提供了一些简单的sharding功能,但使用起来有很多的限制,你可以查看一下http://doctrine-orm.readthedocs.org/projects/doctrine-dbal/...

讲师回答 / 洪涛
不管是什么理由,我都非常不建议使用关键字作为表名,虽然你可以通过一些特殊的语法绕过去,但不管将来实际操作数据库的时候还是牵涉到运维和后续开发,你任何对这个表的操作都要额外做这么一个处理,事实上是很麻烦的事情。我给你出两个方案改名叫orders使用prefix table name,比如xxx_order这样,如果想在所有表上都实现prefix而不是一个一个改,具体做法可以参考:http://stackoverflow.com/questions/7504073/how-to-setup-table-pre...

讲师回答 / 洪涛
不建议直接看源代码,因为sf2的源代码模块化和抽象化程度较高,如果没有实际操作经验很难具体的去理解代码的实际含义。我建议你先使用sf2开发一些小项目,对sf2的使用有了一定经验后,再开始入手去看一些平时开发时最常用的类,比如Request和Response,比如Controller等等,这样接受起来会比较容易,看完源码学到的知识也对你世纪的开发有帮助,不至于太枯燥。

讲师回答 / 洪涛
如果你当前页面是/app_dev.php/test/abc,那么如果在这个页面里出现../images/abc.jpg的话,这个jpg的实际路径就会变成你写的样子。要解决这个问题的话我建议你可以直接写绝对路径,不要用相对路径。

讲师回答 / 洪涛
这个文件在我的项目中的路径是:src/Scourgen/WebBundle/Resources/views/layout.html.twig

讲师回答 / 洪涛
看报错应该就是无法连接上dev-tools.my-project.local所在的服务器。建议你先ping一下dev-tools.my-project.local,看看是否指向了虚拟机所在的ip如果是的话,进虚拟机看一下这个ip或者0.0.0.0在80端口是否绑定了nginx服务,可以用这个命令看netstat -tulnp如果绑定了服务的话,至少应该不会出现你上面所报的错误。

讲师回答 / 洪涛
看看你的nginx或者apache之类的web服务软件绑定的ip是多少,如果绑在固定的ip上,则只能通过那个ip访问

讲师回答 / 洪涛
看文档应该是设置这两个值就可以:&assargument&/ar%assetic.filter.sass.bin%&>/argument&rub    <argument&>%assetic.ruby.bin%&该这么/argument&ode    所以config.yml里应该这么写:<...code...>文档地址:https://github.c...

已采纳回答 / 洪涛
这感觉就是你的virtualbox根本就是有问题的,你先别用vagrant,直接启动virtualbox,手动建个虚拟机什么的,看看能不能使用。

讲师回答 / 洪涛
你的vagrant box里是一个跑在vmware desktop程序下的centos镜像,但你vagrant up之后,vagrant却以一个hyperv的provider去跑,这表示你的配置有问题。据我所知windows下用vagrant跑vmware虚拟机是要额外买license的,参见:https://www.vagrantup.com/vmware,你确定要这么做么?

讲师回答 / 洪涛
你看一下app/config/config.yml里,assetic:bundles是否被注释掉。1.如果注释掉”bundles:“这行的话,assetic会自动发现所有的bundle2.如果没有注释掉的话,你得自己把需要用到assetic管理功能的bundle的名字写进去,比如这样:bundles:  [ ScourgenWebBundle ]

讲师回答 / 洪涛
最近事情多,和慕课网商量之后决定停更一段时间。接下来就会继续更新了,尽请期待。
课程须知
1、熟练掌握PHP基本语法知识 2、熟练掌握PHP面向对象思想 3、具有1-2年开发经验
老师告诉你能学到什么?
1、如何搭建Symfony2的开发环境 2、如何使用Symfony2框架进行网站开发 3、如何部署Symfony2项目

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消