8.8. Make A Web Application Page

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

8.8.1. Make A Basic App

./script/solar make-app Vendor_App_PageName

The above command creates a basic page-controller class with its support file structure and a single actionIndex method. It also creates a symbolic link for the Public/ assets directory to the SYSTEM/docroot/public/ directory.

$ $ ./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.
$

By default, the app will extend Vendor_Controller_Page, which itself was created via make-vendor earlier. However, if you pass --extends=Vendor_App_ParentClass, the app will extend from the named parent class instead.

8.8.2. Make a Boilerplate BREAD App

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

The above command creates a page-controller class with its support file structure and a series of boilerplate methods and views, one each for browse, read, edit, add, delete, and search. The methods act on the catalog model named by --model-name; in the above command, the 'model_name' entry in the model catalog. The app will honor any user access controls that have been specified elsewhere.

By default, the BREAD app extends the Vendor_Controller_Bread class, which itself was created by make-vendor earlier. However, if you pass --extends=Vendor_App_ParentClass, the app will extend from the named parent class instead.

This variation of the make-app command gives you a way to rapidly prototype page controllers that have basic usable functionality. See elsewhere for more information on how to customize the boilerplate application logic.



Local