8.8. 创建一个Web应用页

./script/solar make-app Vendor_App_PageName [--extends=Vendor_App_ParentClass] [--model-name=model_name]

8.8.1. 创建一个基本应用

./script/solar make-app Vendor_App_PageName

上面这条命令使用预定义的文件格式创建一个页面控制器类,此类中仅包含一个actionIndex方法。它也在SYSTEM/docroot/public/目录下创建指向Public/目录的符号链接。

$ ./script/solar make-app Vendor_App_PageName
Making app.
Creating app directory.
Creating app Layout directory.
Creating app Locale directory.
Creating app Public directory.
Creating app View directory.
App class 'Vendor_App_PageName' extends 'Vendor_Controller_Page'.
Preparing to write to 'SYSTEM/include/'.
Writing app class.
Writing locale file.
Writing 'index' view.
Making public symlinks for 'Vendor_App_PageName' ...
    Making public directory docroot/public/Vendor/App ... done.
    Making public symlink for Vendor_App_PageName ... done.
... done.
Done.
$

默认情况下,这个应用会继承Vendor_Controller_Page, 这个类是之前使用make-vendor创建的。然而,如果你向命令传递--extends=Vendor_App_ParentClass参数,此应用将会继承显示指定的父类。

8.8.2. 创建一个带有插、删、改、查模板代码的应用

./script/solar make-app --model-name=model_name

上面这条命令使用预定义的文件格式创建一个页面控制器类,并且为浏览、阅读、添加、删除和查找创建一系列模板方法和视图。这个方法作用于模型目录中的某个模型,模型名由--model-name指定;在上面的命令中,使用的模型是'model_name'。此应用同样遵守其他地方定义的用户访问控制规则

默认情况下,BREAD应用继承自Vendor_Controller_Bread类,此类是在使用make-vendor时创建的。然后,如果你向命令传递--extends=Vendor_App_ParentClass参数,此应用将会使用显示指定的父类。

make-app命令的这种变种为你指出了一条快速原型化一个拥有基本功能的页面控制器的途径。想了解如何定义模板应用程序逻辑的相关信息,请参考手册其他部分 。