symfony学习笔记–第二步,创建Bundle
symfony学习笔记–第二步,创建Bundle
在第一步的基础上,今天通过命令创建一个Bundle
使用命令,查看命令提示
-
命令
php app/console
在昨天创建的
noel
工程文件里面,按住shift右键鼠标选择“在当前文件里打开命令窗口”,如图输入命令。能使用php命令前提是之前已经在www文件夹里面存放了昨天下载 的“安装助手”,详细第一步的学习记录
开始创建Bundle
- 命令
php app/console generate:Bundle
定义Bundle
- 创建命名空间
Noel/WebBundle
注意大小写,虽然不知道是否区分大小写,但按照 上一步下载的代码来看,依照它的命名规范,总之不会错到哪里吧,(●’◡’●)
- 然后下一步
- 如上图输入Bundle名字,默认是根据命名空间自动创建,所以直接敲击回车进入下一步;
- 询问创建Bundle的路径,默认是创建在项目所在文件夹的src目录下,所以直接敲回车进入下一步;
- 询问配置的格式,这里采用annotation格式;
确认创建
询问是否创建完整的目录结构,输入yes
回车
默认[no],输入yes敲击回车进入下一步;询问确认是否开始创建,默认[yes],直接敲击回车下一步;之后确认是否更新Kernel、Routing,敲击回车完成。开始写代码咯~
生成的结果
先看看生成后,项目的文件结构
红色的圈表示目前生成的命名空间,在src下面有一个noel的文件夹,黄色的箭头代表这几个接下来需要用到的这三个文件的关系。以后的一些主要操作也是在SRC文件夹下面了
启动项目
启动服务
- 命令
php app/console server:run
终止服务的快捷键:
ctrl + c
运行
浏览器输入url地址:localhost:8000/app_dev.php/hello/noel
生成的代码中需要注意的地方
自动生成的代码中,注释是一个值得注意的地方
/**
*@Route("/hello/{name}")
*@Template()
*/
- 在返回看看刚才URL的书写格式,正是由于在注释中通过Route定义了路由规则。
-
{name}
是占位符,用来传递在方法里面需要的参数 - use是必要的,虽然编译器显示没有被引用,但编译确实是引用了的
- 如图中红色圈出来的地方 \|/
- twig文件的内容,这下再看看浏览器URL输入的
noel
,上图中DefaultController中注释中的{noel}
以及方法参数中的$name
。 - 再看看twig中的
Hello
以及之前浏览器打印出来的结果Hello noel !
今天学了这些,o(^▽^)o。
注:请勿转载。