两天接触发现symfony真的蛮牛掰的,之前纠结学laravel还是symfony哪一个好一点,学了laravel一个星期发现文档学习资料太少了,立马转向symfony发现他和laravle功能差不多,所以之前一个星期看的laravle没有白看。但是今天发现一个很好的功能,更java差不多,开心了一阵子,下面来分享一下,怎么像java一样自动轻轻几下,就自动生成了数据库表实体
我用的是symfony3.0,生成数据库实体肯定的连接数据库配置信息,连接配置信息在app/config/parameters.yml文件里面symfony会自动识别什么数据库的,想仔细研究去看文档吧!说道文档我也是醉了,一句话一句话复制到百度翻译里面理解意思。
配置完,打开命令行,cd到你的项目目录下,例如我的
D:\wamp\www>cd symfonydemo
在执行
D:\wamp\www\symfonydemo>php bin/console doctrine:mapping:import --force AppBundle xml
通俗意思是读取bin/console生成实体xml文件到src/AppBundle/Resources/config/doctrine
其实就是让Doctrine检查数据库并生成XML元数据文件到文件夹下
你可以去看一看是否有这两个文件没有说明您的路径有问题了
在执行
#生成数据库实体<pre>php bin/console doctrine:generate:entities AppBundle
而在cookbook怎么却写着,感觉没有什么差异,就是一个使用默认的bundle
<span><span>php bin/console doctrine:mapping:convert annotation ./src </span></span>
#生成getset方法php bin/console doctrine:generate:entities AppBundle
第一个命令生成annotation注释映射的实体Entity类;
第二个命令生成整个SiteHomeBundle下每个Entity类的get,set方法。
是不是很强大,还会生成主键关联的外键呢!下面上传我执行的文件的代码
第一句执行失败就是文件夹路径没有写对或者已经存在呢
官方文档地址:https://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html
https://symfony.com/doc/current/book/doctrine.html