./script/solar make-vendor
VendorName
The make-vendor command creates all the basic source files for a new vendor space inside a Solar system. The idea is, when you start a new project, you will use a new vendor space for the controllers, models, views, and other components of the application. You can have as many vendors as you like, so long as their names are different.
To create a new vendor space inside a Solar system, issue the following command:
$./script/solar make-vendor
Making vendor source directories. CreatingVendorName
SYSTEM
/source/vendor-name
/config. CreatingSYSTEM
/source/vendor-name
/docs. CreatingSYSTEM
/source/vendor-name
/script. CreatingSYSTEM
/source/vendor-name
/tests. CreatingSYSTEM
/source/vendor-name
/tests/Mock. CreatingSYSTEM
/source/vendor-name
/tests/Mock/VendorName
. CreatingSYSTEM
/source/vendor-name
/tests/Test. CreatingSYSTEM
/source/vendor-name
/tests/Test/VendorName
. CreatingSYSTEM
/source/vendor-name
/VendorName
/Cli/Help. CreatingSYSTEM
/source/vendor-name
/VendorName
/Cli/Help/Info. CreatingSYSTEM
/source/vendor-name
/VendorName
/Cli/Help/Locale. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/Locale. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/Public. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Command/Info. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Command/Locale. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Page/Layout. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Page/Locale. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Page/Public. CreatingSYSTEM
/source/vendor-name
/VendorName
/Controller/Page/View. CreatingSYSTEM
/source/vendor-name
/VendorName
/Model. WritingSYSTEM
/source/vendor-name
/VendorName
/Cli/Help.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Cli/Help/Info/options.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/Locale/en_US.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/_item.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/_list.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/add.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/browse.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/delete.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/edit.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/read.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Bread/View/search.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Command.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Controller/Page.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Filter.php ... done. Making directorySYSTEM
/source/vendor-name
/VendorName
/Sql ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Sql/Model.php ... done. Making directorySYSTEM
/source/vendor-name
/VendorName
/Sql/Model ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Sql/Model/Collection.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Sql/Model/Metadata.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Sql/Model/Record.php ... done. WritingSYSTEM
/source/vendor-name
/config/default.php ... done. WritingSYSTEM
/source/vendor-name
/config/run-tests.php ... done. WritingSYSTEM
/source/vendor-name
/VendorName
/Cli/Help/Info/help.txt ... done. Making links for vendor 'VendorName
' ... Making link 'include/VendorName
' ... done. Making link 'include/Test/VendorName
' ... done. Making link 'include/Mock/VendorName
' ... done. Making link 'script/vendor-name
' ... done. ... done. Making public symlinks for 'VendorName
' ... Making public directory docroot/public/VendorName
/Controller ... done. Making public symlink forVendorName
_Controller_Bread ... done. Making public symlink forVendorName
_Controller_Page ... done. ... done. Remember to add 'VendorName
_App' to the ['Solar_Controller_Front']['classes'] element in your config file so that it finds your apps. Remember to add 'VendorName
_Model' to the ['Solar_Sql_Model_Catalog']['classes'] element in your config file so that it finds your models. $
What is going on here?
-
The command creates a new source directory for
vendor-name
and adds some standard directories therein:config
for default configuration files,docs
for documentation files,script
for thevendor-name
command-line interface,tests
for integration tests, and of course the
directory for PHP classes.VendorName
-
The command creates a series of baseline classes and directories for
VendorName
PHP code: a minimal page controller, a boilerplace browse/read/edit/add/delete ("BREAD") controller, a base class forVendorName
-specific models, directories for view helpers and concrete model classes, and so on. -
Finally, the command creates symbolic links from the source directory to other locations in the Solar system, so that when source files change, you don't need to copy them out to the rest of the system.