!File Types and Naming Conventions
|
|
There are several type of files, and each should be name as follow
|
-* __Directories__ should always be lowercase with undercores seperating words - if possible, use only one word, that describes the directory best
|
-* __Presentation files__, such as "wiki/list_pages.php", should be named with an underscore seperateing each word. i.e. list_pages.php, and all lower case. There should be no reference to "tiki" in the file name, and it is best to keep the names short, and not redundant with the package they are in. For example "articles/edit_article.php" should be simple "articles/edit.php"
|
+* __Directories__ should always be lowercase with underscores separating words - if possible, use only one word, that describes the directory best |
+* __Presentation files__, such as "wiki/list_pages.php", should be named with an underscore separating each word. i.e. list_pages.php, and all lower case. There should be no reference to "tiki" in the file name, and it is best to keep the names short, and not redundant with the package they are in. For example "articles/edit_article.php" should be simple "articles/edit.php" |
* __Included files__ if your file is only included by other files and never invoked directly, it should follow the same rules as the presentation files, however, it should have _inc.php at the end, such as "wiki/page_setup_inc.php"
|
-* __Class files__ shoud be named identically to the name of the class they contain, i.e. "BitSystem.php". There should be NO CODE outside of the class definition, and nothing should be declared. Sometimes, it is practical to put global function definitions in the class files, and that is acceptable. Classes should be declared in a presentation or include file.
|
-* __Library files__ are nothing but a big pile of preocedural function definitions and have "_lib.php" at the end, such as "util/zip_lib.php". There is a bunch of legacy ((TikiWiki)) stuff like the StatsLib class in stats/stats_lib.php - one day we will get around to cleaning this stuff up.
|
-* __Template files__ are for smarty, and they should follow convetion for presentation files, such as "wiki/templates/show_page.tpl"
|
+* __Class files__ should be named identically to the name of the class they contain, i.e. "BitSystem.php". There should be NO CODE outside of the class definition, and nothing should be declared. Sometimes, it is practical to put global function definitions in the class files, and that is acceptable. Classes should be declared in a presentation or include file. |
+* __Library files__ are nothing but a big pile of procedural function definitions and have "_lib.php" at the end, such as "util/zip_lib.php". There is a bunch of legacy ((TikiWiki)) stuff like the StatsLib class in stats/stats_lib.php - one day we will get around to cleaning this stuff up. |
+* __Template files__ are for smarty, and they should follow convention for presentation files, such as "wiki/templates/show_page.tpl" |
There are a few special file names that the KernelPackage will look for in each Package. Below is an example for a fictional package named "somepackage":
|
# __somepackage/bit_setup_inc.php__ is automatically parsed by the KernelPackage at setup time (technically by BitSystem::scanPackages()
|
+# __somepackage/admin/upgrades/<version>.php__ is used to set package versions and control ((Package Upgrades)). |
+# __somepackage/admin/schema_inc.php__ is used by kernel and install services to define tables for the package. |
# __somepackage/admin/admin_somepackage_inc.php__ and the corresponding __somepackage/templates/admin_somepackage.tpl__ are automatically assumed, and will be included if you link to www.yoursite.com/kernel/admin/index.php?page=somepackage
|
+# __somepackage/templates/menu_somepackage_admin.tpl__ allows specification of the package admin menu. |
+# __somepackage/icons/pkg_somepackage.png__ icon for the package should be 48x48 pixels. |
|
!Coding Conventions
|
* One of our most important rules in bitweaver, is to never commit code where you know it breaks something. If you __have to__ commit something you want to have tested by others, please add appropriate comments to the code such as:
|