Gallery:开发者指引
来自站长百科
(版本间的差异)
(新页面: = Guidelines for Gallery2 Developers = This is a set of notes that G2 developers should read before they start doing serious work on G2. Right now it's just a brain dump of things that I...) |
Firebrance (讨论 | 贡献) |
||
(未显示1个用户的1个中间版本) | |||
第1行: | 第1行: | ||
− | = | + | = Gallery2开发者指引= |
− | + | G2开发者在G2上开展正式工作之前应当参阅一下此注解集。 | |
− | == | + | == 阅读并遵循Gallery的编码标准! == |
− | :*'''[[Gallery:Coding_Standards| | + | :*'''[[Gallery:Coding_Standards|Gallery编码标准]]''' |
− | :*'''[[Gallery:Coding_Guidelines| | + | :*'''[[Gallery:Coding_Guidelines|Gallery编码指引]] |
− | == | + | == 在接收HTTP POST或GET(我们实际发生动作的地方)后进行HTTP重定向== |
− | + | 无论何时我们对数据库或文件系统做修改,导致HTTP post或get,我们都希望确定将用户重定向至了某个安全页面。如此,如果用户点击的重新载入按钮,就不会再次触发动作了!所有的核心视图都能这样并能够作为实例方法来确保操作正确完成。 | |
− | == | + | == 在对系统做了任何文本修改之后,重建所有的翻译! == |
% cd lib/tools/po | % cd lib/tools/po | ||
% perl update-all-translations.pl | % perl update-all-translations.pl | ||
− | + | 这将会提取新的strings.raw文件并生成新的messages.po文件,不过这仅当实际做了修改时才发生!翻译者可以监视自己的.po 文件以明确何时需要更新所拥有的翻译。对strings.raw文件所作的修改将会提供某种线索,即实际所作的修改。 | |
− | == | + | == 可能话尽量使用单引号取代双引号 == |
− | + | PHP必须解释双引号中的整个内容以确认其中是否有任何需要评估的变量。因此当字串中无需包含任何变量时,应使用单引号。 | |
− | == GalleryStorage | + | == GalleryStorage 是后端无关的(backend agnostic) == |
− | + | GalleryStorage API不会管后端是如何工作的。因此你无法做出任何对于数据库表格,索引,栏目以及行等的参照。取而代之则是应该参照API中的类别及成员。 | |
− | == | + | == 无论何时你对某实体或地图结构做了修改,请重建Map.inc,Entity.inc以及数据库的架构== |
− | + | G2用户在其phpdoc变量评论中拥有一个"@g2"片段。我们使用这个来生成与各实体类别以及地图相关的Entities.inc和Maps.inc文件,同样也用于生成SQL 数据库定义。无论何时对实体成员做修改,我们都必须修改实体/地图架构版本号并创建实体迁移XML文件。 | |
cd modules/[modulename]/classes/ && make | cd modules/[modulename]/classes/ && make | ||
− | == PHP | + | == PHP 设定 == |
− | + | 所有Gallery开发者在开发环境中都应使用下面的PHP设定: | |
− | * | + | * display_errors在G2中是被主动抑制的。在开发过程中,启用display_errors是至关重要的,否则的话你可能就会错过未初置/未定义的变量或常量!在config.php中,将 |
@ini_set('display_errors', 0); | @ini_set('display_errors', 0); | ||
− | + | 修改为 | |
ini_set('display_errors', 1); | ini_set('display_errors', 1); | ||
− | * | + | * 并确保你的php.ini设定为: |
error_reporting = E_ALL | error_reporting = E_ALL | ||
short_open_tag = Off | short_open_tag = Off | ||
第43行: | 第43行: | ||
include_path = '/bogus' | include_path = '/bogus' | ||
− | ''' | + | '''注: '''请特别留意lib/tools/phpunit/index.php页面上的警告提示。如上述设定中发生错误将会做出警告的。 |
[[Category:Gallery 2:Development|Developer Guidelines]] | [[Category:Gallery 2:Development|Developer Guidelines]] |
2008年8月28日 (四) 06:53的最后版本
目录 |
Gallery2开发者指引
G2开发者在G2上开展正式工作之前应当参阅一下此注解集。
阅读并遵循Gallery的编码标准!
在接收HTTP POST或GET(我们实际发生动作的地方)后进行HTTP重定向
无论何时我们对数据库或文件系统做修改,导致HTTP post或get,我们都希望确定将用户重定向至了某个安全页面。如此,如果用户点击的重新载入按钮,就不会再次触发动作了!所有的核心视图都能这样并能够作为实例方法来确保操作正确完成。
在对系统做了任何文本修改之后,重建所有的翻译!
% cd lib/tools/po % perl update-all-translations.pl
这将会提取新的strings.raw文件并生成新的messages.po文件,不过这仅当实际做了修改时才发生!翻译者可以监视自己的.po 文件以明确何时需要更新所拥有的翻译。对strings.raw文件所作的修改将会提供某种线索,即实际所作的修改。
可能话尽量使用单引号取代双引号
PHP必须解释双引号中的整个内容以确认其中是否有任何需要评估的变量。因此当字串中无需包含任何变量时,应使用单引号。
GalleryStorage 是后端无关的(backend agnostic)
GalleryStorage API不会管后端是如何工作的。因此你无法做出任何对于数据库表格,索引,栏目以及行等的参照。取而代之则是应该参照API中的类别及成员。
无论何时你对某实体或地图结构做了修改,请重建Map.inc,Entity.inc以及数据库的架构
G2用户在其phpdoc变量评论中拥有一个"@g2"片段。我们使用这个来生成与各实体类别以及地图相关的Entities.inc和Maps.inc文件,同样也用于生成SQL 数据库定义。无论何时对实体成员做修改,我们都必须修改实体/地图架构版本号并创建实体迁移XML文件。
cd modules/[modulename]/classes/ && make
PHP 设定
所有Gallery开发者在开发环境中都应使用下面的PHP设定:
- display_errors在G2中是被主动抑制的。在开发过程中,启用display_errors是至关重要的,否则的话你可能就会错过未初置/未定义的变量或常量!在config.php中,将
@ini_set('display_errors', 0); 修改为 ini_set('display_errors', 1);
- 并确保你的php.ini设定为:
error_reporting = E_ALL short_open_tag = Off magic_quotes_gpc = On allow_call_time_pass_reference = Off register_globals = Off display_errors = On allow_url_fopen = Off include_path = '/bogus'
注: 请特别留意lib/tools/phpunit/index.php页面上的警告提示。如上述设定中发生错误将会做出警告的。