php - 如何设置 Eclipse PDT 遵循 Zend Framework 2 编码约定?

标签 php eclipse zend-framework2

我正在学习 Zend Framework 2。当我按 Ctrl + Shift + F 组合键自动格式化代码时,它显示不喜欢 Zend Framework 2 编码约定。

请告诉我在 Eclipse 4.4 Luna PDT一种简单的方法自动格式化代码遵循 Zend Framework 编码约定( PHP 开发工具)。

最佳答案

我曾经有一段时间使用 Eclipse 和 PDT。然后我切换到另一个 IDE。无论如何,在 Eclipse 中,您可以编辑自动套用格式的工作方式。您可以在 Window -> Preferences 下编辑自动套用格式,然后在 PHP -> Code Style 下编辑。对我来说,它从一开始就与 Zend Framework 2 一起运行良好。

您还可以在那里找到导出/导入设置的可能性。我刚刚导出了我的。 您可以将以下代码保存为 .xml,然后将其导入到您能够编辑设置的同一位置。希望这对您有所帮助。

别忘了,请先备份您的备份,以防万一。 (我使用的是 Eclipse 4.2.2 & PDT 3.1.1)

代码模板的 XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="php_gettercomment_context" deleted="false" description="Comment for getter methods" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.gettercomment" name="gettercomment">/**
 * @return the ${bare_field_name}
 */</template><template autoinsert="true" context="php_settercomment_context" deleted="false" description="Comment for setter methods" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.settercomment" name="settercomment">/**
 * @param ${field_type} ${bare_field_name}
 */</template><template autoinsert="true" context="php_constructorcomment_context" deleted="false" description="Comment for created constructors" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.constructorcomment" name="constructorcomment">/**
 * ${tags}
 */</template><template autoinsert="true" context="php_filecomment_context" deleted="false" description="Comment for created PHP files" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.filecomment" name="filecomment">/**
 * 
 */
</template><template autoinsert="true" context="php_typecomment_context" deleted="false" description="Comment for created types" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.typecomment" name="typecomment">/**
 * @author ${user}
 *
 * ${tags}
 */</template><template autoinsert="true" context="php_fieldcomment_context" deleted="false" description="Comment for fields" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.fieldcomment" name="fieldcomment">/**
 * @var ${field_type}
 */</template><template autoinsert="true" context="php_methodcomment_context" deleted="false" description="Comment for non-overriding methods" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.methodcomment" name="methodcomment">/**
 * ${tags}
 */</template><template autoinsert="true" context="php_overridecomment_context" deleted="false" description="Comment for overriding methods" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.overridecomment" name="overridecomment">/* (non-PHPdoc)
 * ${see_to_overridden}
 */</template><template autoinsert="true" context="php_delegatecomment_context" deleted="false" description="Comment for delegate methods" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.delegatecomment" name="delegatecomment">/**
 * ${tags}
 * ${see_to_target}
 */</template><template autoinsert="true" context="php_newtype_context" deleted="false" description="Newly created files" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.newtype" name="newtype">${filecomment}
${package_declaration}

${typecomment}
${type_declaration}</template><template autoinsert="false" context="php_classbody_context" deleted="false" description="Code in new class type bodies" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.classbody" name="classbody">
</template><template autoinsert="false" context="php_interfacebody_context" deleted="false" description="Code in new interface type bodies" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.interfacebody" name="interfacebody">
</template><template autoinsert="true" context="php_catchblock_context" deleted="false" description="Code in new catch blocks" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.catchblock" name="catchblock">// ${TODO} Auto-generated catch block
${exception_var}.printStackTrace();</template><template autoinsert="true" context="php_methodbody_context" deleted="false" description="Code in created method stubs" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.methodbody" name="methodbody">// ${TODO} Auto-generated method stub
${body_statement}</template><template autoinsert="true" context="php_constructorbody_context" deleted="false" description="Code in created constructor stubs" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.constructorbody" name="constructorbody">${body_statement}
// ${TODO} Auto-generated constructor stub</template><template autoinsert="true" context="php_getterbody_context" deleted="false" description="Code in created getters" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.getterbody" name="getterbody">return ${field};</template><template autoinsert="true" context="php_setterbody_context" deleted="false" description="Code in created setters" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.setterbody" name="setterbody">${field} = ${param};</template><template autoinsert="true" context="php_new_file_context" deleted="false" description="Simple php file" enabled="true" id="org.eclipse.php.ui.editor.templates.php.author" name="New simple PHP file">&lt;?php
${cursor}</template><template autoinsert="true" context="php_new_file_context" deleted="false" description="html 4.01 frameset" enabled="true" id="org.eclipse.php.ui.editor.templates.php.html.frameset" name="New PHP file - HTML frameset">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=${encoding}"&gt;
&lt;title&gt;Insert title here&lt;/title&gt;
&lt;/head&gt;
&lt;frameset&gt;
    &lt;frame&gt;
    &lt;frame&gt;
    &lt;noframes&gt;
    &lt;body&gt;
    &lt;p&gt;This page uses frames. The current browser you are using does not support frames.&lt;/p&gt;
    &lt;?php
${cursor}
    ?&gt;
    &lt;/body&gt;
    &lt;/noframes&gt;
&lt;/frameset&gt;
&lt;/html&gt;</template></templates>

格式化程序设置

菜单点 Formatters 中的设置(就在代码模板下方)在我的 Eclipse 中是这样设置的:

标签策略:标签

缩进大小:1

标签大小:4

包装线的默认缩进:1

数组初始值设定项的默认缩进:1

关于php - 如何设置 Eclipse PDT 遵循 Zend Framework 2 编码约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27073679/

相关文章:

java - 致命异常 : main error - Android development

PHP Laravel Facade __callStatic 参数列表

php - Laravel 4 Blade 错误

php - 在处理时区时如何处理全天和定时事件?

java - 如何将eclipse项目类路径添加到ant脚本中?

java - 打开包资源管理器以及尝试在 Eclipse 中打开 java 类时出错

command-line - 如何在 zenframework 2 上配置 doctrine 命令行工具

php - Zend Framework 2 上的模块和模型组织

php - 每秒调用一个 PHP 函数

forms - ZF2 : Trying to understand Zend\Form