PageRenderTime 45ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/version/1.1.2/manual/offline/commands.make-vendor.html

https://bitbucket.org/solarphp/docs
HTML | 194 lines | 194 code | 0 blank | 0 comment | 0 complexity | 7f08ad7f630537c603bcb277c9a27fe9 MD5 | raw file
Possible License(s): IPL-1.0, LGPL-2.0, Apache-2.0, 0BSD
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <title>8.2. Make Vendor Source</title>
  7. <link rel="stylesheet" href="style.css" type="text/css" />
  8. <meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2" />
  9. <link rel="home" href="index.html" title="The Solar Framework for PHP" />
  10. <link rel="up" href="commands.html" title="Chapter 8. Command-Line Tools" />
  11. <link rel="prev" href="commands.intro.html" title="8.1. Introduction" />
  12. <link rel="next" href="commands.link-vendor.html" title="8.3. Link Vendor Source" />
  13. <link rel="part" href="pt01.html" title="Part I. Getting Started" />
  14. <link rel="chapter" href="blog-demo.html" title="Chapter 1. Quick-Start Blog Demo" />
  15. <link rel="chapter" href="dispatch-cycle.html" title="Chapter 2. Dynamic Dispatch Cycle" />
  16. <link rel="chapter" href="model.html" title="Chapter 3. Working With Models" />
  17. <link rel="chapter" href="related.html" title="Chapter 4. Working With Related Models" />
  18. <link rel="chapter" href="views.html" title="Chapter 5. Views and Layouts" />
  19. <link rel="chapter" href="form.html" title="Chapter 6. Models and Forms" />
  20. <link rel="chapter" href="user.html" title="Chapter 7. User Authentication, Roles, and Access Control" />
  21. <link rel="chapter" href="commands.html" title="Chapter 8. Command-Line Tools" />
  22. <link rel="chapter" href="mail.html" title="Chapter 9. Mail" />
  23. <link rel="part" href="pt02.html" title="Part II. Appendices" />
  24. <link rel="appendix" href="appendix-standards.html" title="Appendix A. Project Standards" />
  25. <link rel="appendix" href="appendix-naming.html" title="Appendix B. Naming Conventions" />
  26. <link rel="subsection" href="commands.make-vendor.html#commands.make-vendor.example" title="8.2.1. Example" />
  27. </head>
  28. <body>
  29. <div class="navheader">
  30. <table width="100%" summary="Navigation header">
  31. <tr>
  32. <th colspan="3" align="center">8.2. Make Vendor Source</th>
  33. </tr>
  34. <tr>
  35. <td width="20%" align="left"><a accesskey="p" href="commands.intro.html">Prev</a> </td>
  36. <th width="60%" align="center">Chapter 8. Command-Line Tools</th>
  37. <td width="20%" align="right"> <a accesskey="n" href="commands.link-vendor.html">Next</a></td>
  38. </tr>
  39. </table>
  40. </div>
  41. <div class="sect1" title="8.2. Make Vendor Source">
  42. <div class="titlepage">
  43. <div>
  44. <div>
  45. <h2 class="title" style="clear: both"><a id="commands.make-vendor"></a>8.2. Make Vendor Source</h2>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="cmdsynopsis">
  50. <p><code class="command">./script/solar make-vendor</code> <em class="replaceable"><code>VendorName</code></em> </p>
  51. </div>
  52. <p>
  53. The <span class="command"><strong>make-vendor</strong></span> command creates all the basic
  54. source files for a new vendor space inside a Solar system. The
  55. idea is, when you start a new project, you will use a new vendor
  56. space for the controllers, models, views, and other components of
  57. the application. You can have as many vendors as you like, so long as
  58. their names are different.
  59. </p>
  60. <div class="sect2" title="8.2.1. Example">
  61. <div class="titlepage">
  62. <div>
  63. <div>
  64. <h3 class="title"><a id="commands.make-vendor.example"></a>8.2.1. Example</h3>
  65. </div>
  66. </div>
  67. </div>
  68. <p>
  69. To create a new vendor space inside a Solar system, issue the
  70. following command:
  71. </p>
  72. <pre class="screen">$ <strong class="userinput"><code>./script/solar make-vendor <em class="replaceable"><code>VendorName</code></em></code></strong>
  73. Making vendor source directories.
  74. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/config.
  75. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/docs.
  76. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/script.
  77. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/tests.
  78. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/tests/Mock.
  79. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/tests/Mock/<em class="replaceable"><code>VendorName</code></em>.
  80. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/tests/Test.
  81. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/tests/Test/<em class="replaceable"><code>VendorName</code></em>.
  82. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Cli/Help.
  83. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Cli/Help/Info.
  84. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Cli/Help/Locale.
  85. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/Locale.
  86. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/Public.
  87. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View.
  88. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Command/Info.
  89. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Command/Locale.
  90. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Page/Layout.
  91. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Page/Locale.
  92. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Page/Public.
  93. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Page/View.
  94. Creating <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Model.
  95. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Cli/Help.php ... done.
  96. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Cli/Help/Info/options.php ... done.
  97. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread.php ... done.
  98. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/Locale/en_US.php ... done.
  99. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/_item.php ... done.
  100. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/_list.php ... done.
  101. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/add.php ... done.
  102. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/browse.php ... done.
  103. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/delete.php ... done.
  104. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/edit.php ... done.
  105. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/read.php ... done.
  106. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Bread/View/search.php ... done.
  107. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Command.php ... done.
  108. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Controller/Page.php ... done.
  109. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Filter.php ... done.
  110. Making directory <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Sql ... done.
  111. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Sql/Model.php ... done.
  112. Making directory <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Sql/Model ... done.
  113. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Sql/Model/Collection.php ... done.
  114. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Sql/Model/Metadata.php ... done.
  115. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Sql/Model/Record.php ... done.
  116. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/config/default.php ... done.
  117. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/config/run-tests.php ... done.
  118. Writing <em class="replaceable"><code>SYSTEM</code></em>/source/<em class="replaceable"><code>vendor-name</code></em>/<em class="replaceable"><code>VendorName</code></em>/Cli/Help/Info/help.txt ... done.
  119. Making links for vendor '<em class="replaceable"><code>VendorName</code></em>' ...
  120. Making link 'include/<em class="replaceable"><code>VendorName</code></em>' ... done.
  121. Making link 'include/Test/<em class="replaceable"><code>VendorName</code></em>' ... done.
  122. Making link 'include/Mock/<em class="replaceable"><code>VendorName</code></em>' ... done.
  123. Making link 'script/<em class="replaceable"><code>vendor-name</code></em>' ... done.
  124. ... done.
  125. Making public symlinks for '<em class="replaceable"><code>VendorName</code></em>' ...
  126. Making public directory docroot/public/<em class="replaceable"><code>VendorName</code></em>/Controller ... done.
  127. Making public symlink for <em class="replaceable"><code>VendorName</code></em>_Controller_Bread ... done.
  128. Making public symlink for <em class="replaceable"><code>VendorName</code></em>_Controller_Page ... done.
  129. ... done.
  130. Remember to add '<em class="replaceable"><code>VendorName</code></em>_App' to the ['Solar_Controller_Front']['classes'] element in your config file so that it finds your apps.
  131. Remember to add '<em class="replaceable"><code>VendorName</code></em>_Model' to the ['Solar_Sql_Model_Catalog']['classes'] element in your config file so that it finds your models.
  132. $</pre>
  133. <p>
  134. What is going on here?
  135. </p>
  136. <div class="itemizedlist">
  137. <ul class="itemizedlist" type="disc">
  138. <li class="listitem">
  139. <p>
  140. The command creates a new source directory for
  141. <em class="replaceable"><code>vendor-name</code></em> and adds some standard
  142. directories therein: <code class="filename">config</code> for default
  143. configuration files, <code class="filename">docs</code> for
  144. documentation files, <code class="filename">script</code> for the
  145. <em class="replaceable"><code>vendor-name</code></em> command-line interface,
  146. <code class="filename">tests</code> for integration tests, and of
  147. course the
  148. <code class="filename"><em class="replaceable"><code>VendorName</code></em></code>
  149. directory for PHP classes.
  150. </p>
  151. </li>
  152. <li class="listitem">
  153. <p>
  154. The command creates a series of baseline classes and
  155. directories for <em class="replaceable"><code>VendorName</code></em> PHP code:
  156. a minimal page controller, a boilerplace browse/read/edit/add/delete ("BREAD")
  157. controller, a base class for <em class="replaceable"><code>VendorName</code></em>-specific
  158. models, directories for view helpers and concrete model classes,
  159. and so on.
  160. </p>
  161. </li>
  162. <li class="listitem">
  163. <p>
  164. Finally, the command creates symbolic links from the source
  165. directory to other locations in the Solar system, so that
  166. when source files change, you don't need to copy them out
  167. to the rest of the system.
  168. </p>
  169. </li>
  170. </ul>
  171. </div>
  172. </div>
  173. </div>
  174. <div class="navfooter">
  175. <table width="100%" summary="Navigation footer">
  176. <tr>
  177. <td width="40%" align="left"><a accesskey="p" href="commands.intro.html">Prev</a> </td>
  178. <td width="20%" align="center">
  179. <a accesskey="u" href="commands.html">Up</a>
  180. </td>
  181. <td width="40%" align="right"> <a accesskey="n" href="commands.link-vendor.html">Next</a></td>
  182. </tr>
  183. <tr>
  184. <td width="40%" align="left" valign="top">8.1. Introduction </td>
  185. <td width="20%" align="center">
  186. <a accesskey="h" href="index.html">Home</a>
  187. </td>
  188. <td width="40%" align="right" valign="top"> 8.3. Link Vendor Source</td>
  189. </tr>
  190. </table>
  191. </div>
  192. <div xmlns="" class="revinfo"></div>
  193. </body>
  194. </html>