本文整理汇总了PHP中Zend_CodeGenerator_Php_Class::setAbstract方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_CodeGenerator_Php_Class::setAbstract方法的具体用法?PHP Zend_CodeGenerator_Php_Class::setAbstract怎么用?PHP Zend_CodeGenerator_Php_Class::setAbstract使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_CodeGenerator_Php_Class
的用法示例。
在下文中一共展示了Zend_CodeGenerator_Php_Class::setAbstract方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testAbstractAccessors
public function testAbstractAccessors()
{
$codeGenClass = new Zend_CodeGenerator_Php_Class();
$this->assertFalse($codeGenClass->isAbstract());
$codeGenClass->setAbstract(true);
$this->assertTrue($codeGenClass->isAbstract());
}
示例2: gen
function gen($package)
{
ini_set('display_errors', 1);
$xml = App_Model_Config::getConfigFilePath($package);
// APPLICATION_PATH . '/configs/' . $package . '-model-config.xml';
$configFileName = basename($xml);
$data = $config = new Zend_Config_Xml($xml, 'production');
$classList = $data->classes;
$project = $data->project;
$createPackageFolder = true;
$destinationFolder = $data->destinationDirectory;
if ('application' == $project) {
$createPackageFolder = false;
$destinationFolder = APPLICATION_PATH . "/" . $destinationFolder;
} elseif ('global' == $project) {
$createPackageFolder = true;
$destinationFolder = GLOBAL_PROJECT_PATH . "/" . $destinationFolder;
} else {
$createPackageFolder = true;
$destinationFolder = realpath(APPLICATION_PATH . "/../library");
}
// die($destinationFolder);
$bodyConstruct = '';
foreach ($classList as $modelName => $attr) {
$class = new Zend_CodeGenerator_Php_Class();
//$class->isAbstract();
$class->setAbstract(true);
$class2 = new Zend_CodeGenerator_Php_Class();
$docblock = new Zend_CodeGenerator_Php_Docblock(array('shortDescription' => $modelName, 'longDescription' => 'This is a class generated with Zend_CodeGenerator.', 'tags' => array(array('name' => 'uses', 'description' => $package . '_Model_Abstract'), array('name' => 'package', 'description' => $package), array('name' => 'subpackage', 'description' => 'Model'), array('name' => 'version', 'description' => '$Rev:$'), array('name' => 'update', 'description' => date('d/m/Y')), array('name' => 'license', 'description' => 'licensed By Patiwat Wisedsukol patiwat.wi@gmail.com'))));
//$docblock2 = new Zend_CodeGenerator_Php_Docblock();
echo "create ", $modelName, "<br/>";
$class->setName($modelName . "_Abstract");
$class2->setName($modelName);
if ('' == trim($attr->extendedClass)) {
$class->setExtendedClass($package . '_Model_Abstract');
} else {
$class->setExtendedClass($attr->extendedClass);
}
$class2->setExtendedClass($modelName . '_Abstract');
$Prop = array();
$Methods = array();
$PropertyData = array();
$columsToPropsList = array();
$propsToColumsList = array();
foreach ($attr->prop as $prop) {
$name = $prop->name;
$Prop[] = array('name' => "_" . $name, 'visibility' => 'protected', 'defaultValue' => null);
$pdata = array();
$PropertyData[$name] = $this->process_data_array($prop);
$columsToPropsList[$prop->column] = $prop->name;
$propsToColumsList[$prop->name] = $prop->column;
$Methods[] = $name;
}
// print_r($PropertyData);
// exit();
$PropertyDataString = $this->gen_array($PropertyData);
//$p = new Zend_CodeGenerator_Php_Property_DefaultValue(array('value'=>$PropertyDataString ,'type'=>Zend_CodeGenerator_Php_Property_DefaultValue::TYPE_ARRAY));
$Prop[] = array('name' => "propertyData", 'visibility' => 'public', 'defaultValue' => $PropertyDataString);
if (isset($attr->config)) {
$configDataString = $this->gen_array($attr->config->toArray());
} else {
$configDataString = null;
}
$Prop[] = array('name' => "CONFIG_FILE_NAME", 'visibility' => 'public', 'const' => true, 'defaultValue' => $configFileName);
$Prop[] = array('name' => "COLUMS_TO_PROPS_LIST", 'visibility' => 'public', 'defaultValue' => $this->gen_array($columsToPropsList));
$Prop[] = array('name' => "PROPS_TO_COLUMS_LIST", 'visibility' => 'public', 'defaultValue' => $this->gen_array($propsToColumsList));
$Prop[] = array('name' => "configData", 'visibility' => 'public', 'defaultValue' => $configDataString);
$configSQLString = isset($attr->config->sql) ? (string) $attr->config->sql : '';
$Prop[] = array('name' => "_baseSQL", 'visibility' => 'public', 'defaultValue' => $configSQLString);
$class->setDocblock($docblock);
$class->setProperties($Prop);
/*
$Property = new Zend_CodeGenerator_Php_Property();
$pv = new Zend_CodeGenerator_Php_Property_DefaultValue($PropertyDataString);
$pv->setType(Zend_CodeGenerator_Php_Property_DefaultValue::TYPE_ARRAY);
$Property->setDefaultValue($pv);
$Property->setName('_propertyData');
$class->setProperty($Property);
*/
$method = new Zend_CodeGenerator_Php_Method();
$method->setName('__construct');
$method->setBody("parent::__construct ( \$options, '{$modelName}');");
$method->setParameters(array(array('name' => 'options', 'type' => 'array', 'defaultValue' => null)));
$class->setMethod($method);
foreach ($Methods as $name) {
$method = new Zend_CodeGenerator_Php_Method();
$method->setName('set' . strtoupper(substr($name, 0, 1)) . substr($name, 1, strlen($name)));
$method->setBody(" \n \n\t\t \$this->_{$name} = \${$name}; \n\n\t\treturn \$this; \n ");
$method->setParameter(array('name' => $name));
$docblock = new Zend_CodeGenerator_Php_Docblock(array('shortDescription' => "Set the {$name} property", 'tags' => array(array('name' => 'param', 'description' => "\${$name} the \${$name} to set"), array('name' => 'return', 'description' => $modelName))));
$method->setDocblock($docblock);
$class->setMethod($method);
}
foreach ($Methods as $name) {
$method = new Zend_CodeGenerator_Php_Method();
$method->setName('get' . strtoupper(substr($name, 0, 1)) . substr($name, 1, strlen($name)));
$method->setBody(" \n \n\t\treturn \$this->_{$name}; \n\n\t\t\n\t\t");
$docblock = new Zend_CodeGenerator_Php_Docblock(array('shortDescription' => "get the {$name} property", 'tags' => array(array('name' => 'return', 'description' => "the {$name}"))));
//.........这里部分代码省略.........