我正在尝试学习MVC,我想在网址为www.example.com/store时显示商店页面,而另一个购物车页面是网址www.example.com/store/cart.两种方法都在一个类中:
class store extends controller {
function __construct() {
parent::__construct ();
}
function Store() { //this should display the store page
$this->view->render ( "store" );
}
function cart() { //this should display the cart page
$this->view->render ( "store", "cart.php" );
}
}
Run Code Online (Sandbox Code Playgroud)
该方法$this->view->render()
包括带有html代码的页面.如何根据网址决定执行哪种方法?
我刚刚完成了symfony 的Symblog教程.一切正常,除非我尝试在生产环境中运行项目.在博客页面上,页面顶部和评论部分顶部显示以下错误消息:Deprecated: getEntityManager is deprecated since Symfony 2.1. Use getManager instead in F:\xampp\htdocs\php\symblog\vendor\doctrine\doctrine-bundle\Doctrine\Bundle\DoctrineBundle\Registry.php on line 71
我想知道为什么因为我使用相同的版本(symfony 2.3.10)用于其他项目而在这些中我从未见过这个信息.所以我该怎么做?提前致谢!
我想建立一个用户可以登录注册的网站.对于用户管理,我使用FOSUserbundle.现在我想为FOSUserBundle使用与其他bundle不同的数据库连接.我的config.yml文件如下所示:
doctrine:
dbal:
default_connection: default
connections:
default:
driver: "%database1_driver%"
host: "%database1_host%"
port: "%database1_port%"
dbname: "§database1_name%"
user: "%database1_user%"
password: "%database1_password%"
charset: UTF8
user:
driver: "%database2_driver%"
host: "%database2_host%"
port: "%database2_port%"
dbname: "%database2_name%"
user: "%database2_user%"
password: "%database2_password%"
charset: UTF8
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
MyProjectMainBundle: ~
user:
connection: user
mappings:
MyProjectUserBundle: ~
Run Code Online (Sandbox Code Playgroud)
当我尝试加载页面时,我收到错误MappingException: The class 'MyProject\UserBundle\Entity\User' was not found in the chain configured namespaces MyProject\MainBundle\Entity, FOS\UserBundle\Model
.
我完全按照FOSUserBundle的文档进行操作,如果我使用的话它正在工作
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
Run Code Online (Sandbox Code Playgroud)
在config.yml中.唯一的问题是,它只生成文档中新实体中定义的表.只生成一个id字段,而不是像它应该生成的整个fos_user表.
我知道以前曾经问过一些类似的问题,但我尝试使用那里的所有解决方案,但它没有用.那么我该如何解决这个问题呢?它甚至可能吗?我真的需要使用单独的数据库,因为我的项目将使用很多表,我不希望它太乱.