本文整理汇总了PHP中Zend_CodeGenerator_Php_Class::setName方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_CodeGenerator_Php_Class::setName方法的具体用法?PHP Zend_CodeGenerator_Php_Class::setName怎么用?PHP Zend_CodeGenerator_Php_Class::setName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_CodeGenerator_Php_Class
的用法示例。
在下文中一共展示了Zend_CodeGenerator_Php_Class::setName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
/**
* Default run method
* TODO: Needs more work
* @return void
*/
public function run()
{
$this->printMessage('Generating code event listener...');
$config = XDT_CLI_Application::getConfig();
$namespace = $config['namespace'] . '_';
$className = $namespace . 'Listener';
if (!$namespace) {
$namespace = '';
}
if (!XDT_CLI_Helper::classExists($className, false)) {
//$extendName = 'XenForo_Controller' . XfCli_Helpers::camelcaseString($type, false) . '_Abstract';
$class = new Zend_CodeGenerator_Php_Class();
$class->setName($className);
//$class->setExtendedClass($extendName);
XDT_CLI_ClassGenerator::create($className, $class);
$this->printMessage('ok');
} else {
$this->printMessage('skipped (already exists)');
}
$this->printMessage($namespace);
if (!empty($config['name'])) {
$this->printMessage($this->colorText('Active Add-on: ', XDT_CLI_Abstract::BROWN), false);
$this->printMessage($config['name']);
} else {
$this->printMessage($this->colorText('No add-on selected.', XDT_CLI_Abstract::RED));
}
}
示例2: _getForm
protected function _getForm()
{
$form = new Zend_CodeGenerator_Php_Class();
$form->setName('{%moduleNamespace}_Form_{%entity}');
$form->setExtendedClass('Zend_Form');
$form->setMethod($this->_getInitMethod());
$form->setMethod($this->_getPopulateMethod());
return $form;
}
示例3: getContents
public function getContents()
{
// Configuring after instantiation
$methodUp = new Zend_CodeGenerator_Php_Method();
$methodUp->setName('up')->setBody('// upgrade');
// Configuring after instantiation
$methodDown = new Zend_CodeGenerator_Php_Method();
$methodDown->setName('down')->setBody('// degrade');
$class = new Zend_CodeGenerator_Php_Class();
$class->setName('Migration_' . $this->getMigrationName())->setExtendedClass('Core_Migration_Abstract')->setMethod($methodUp)->setMethod($methodDown);
$file = new Zend_CodeGenerator_Php_File();
$file->setClass($class)->setFilename($this->getPath());
return $file->generate();
}
示例4: insertControl
public function insertControl($data)
{
$ok = true;
$name = ucfirst(strtolower($data['name']));
$controller = new Zend_CodeGenerator_Php_Class();
$controller->setName($name . 'Controller');
if ($data['parent']) {
$controller->setExtendedClass($data['parent']);
}
if ($data['action']) {
$ml = explode(',', str_replace(array(' '), array(''), trim($data['action'])));
$act = array();
foreach ($ml as $el) {
$el = strtolower($el);
$act[] = array('name' => $el . 'Action');
}
if ($act) {
$controller->setMethods($act);
}
}
$doc['tags'] = array();
if ($data['zk_title']) {
$doc['tags'][] = array('name' => 'zk_title', 'description' => $data['zk_title']);
}
if (!$data['zk_routable']) {
$doc['tags'][] = array('name' => 'zk_routable', 'description' => 0);
}
if (!$data['zk_config']) {
$doc['tags'][] = array('name' => 'zk_config', 'description' => 0);
}
if ($data['zk_routes']) {
$doc['tags'][] = array('name' => 'zk_routes', 'description' => $data['zk_routes']);
}
if ($doc['tags']) {
$controller->setDocblock(new Zend_CodeGenerator_Php_Docblock($doc));
}
$c = '<?php' . "\n\n" . $controller->generate();
$ok = file_put_contents(APPLICATION_PATH . '/controllers/' . $name . 'Controller.php', $c);
if ($ok) {
@chmod(APPLICATION_PATH . '/controllers/' . $name . 'Controller.php', 0777);
}
return $ok;
}
示例5: generateFile
/**
* Method for generate the file form.
*
* @param string $table
* @param string $schema
* @param array $column
* @return string
*/
public function generateFile($table, $schema, $columns)
{
try {
$className = $fileName = $formName = $this->adjustsName($table);
if (is_null($this->getNamespace())) {
$className = $this->getClassPrefix() . $className;
}
$extendedClass = 'Zend_Form';
if (!is_null($this->getNamespace())) {
$extendedClass = $this->getNamespaceCharacter() . $extendedClass;
}
$class = new \Zend_CodeGenerator_Php_Class();
$class->setExtendedClass($extendedClass);
$class->setName($className);
$class->setDocblock(new \Zend_CodeGenerator_Php_Docblock(array('shortDescription' => $className . ' form file.')));
$constructBody = 'parent::__construct($options);' . PHP_EOL . PHP_EOL;
$constructBody .= '$this->setName(\'frm' . $formName . '\');' . PHP_EOL;
$constructBody .= '$this->setMethod(\'post\');' . PHP_EOL . PHP_EOL;
$this->resetConstructParameters();
foreach ($columns as $columnName => $params) {
if ($params['primaryKey'] === true && $this->getGeneratePrimaryKeys() === false) {
continue;
}
$elementName = $this->adjustsName($columnName, true);
$constructBody .= $this->createContentOfElementColumn($elementName, $columnName, $params);
}
$constructBody .= $this->createContentSubmit();
$this->addConstructorParameters(array('name' => 'options', 'defaultValue' => null));
$class->setMethods(array(array('name' => '__construct', 'parameters' => $this->getConstructorParameters(), 'body' => $constructBody)));
$code = $class->generate();
if (!is_null($this->getNamespace())) {
$code = 'namespace ' . $this->getNamespace() . ';' . PHP_EOL . PHP_EOL . $code;
}
$code = '<?php' . PHP_EOL . PHP_EOL . $code;
file_put_contents($this->getFileDestination() . '/' . $fileName . $this->getFileExtension(), $code);
return 'Generated file ' . $fileName . $this->getFileExtension() . '...' . PHP_EOL;
} catch (Exception $e) {
return $e->getMessage();
}
}
示例6: generate
/**
* Генерирует класс модели
* @param string $className
* Название класса (без префикса)
* @param string $tableName
* Название таблицы в БД
* @param array $params
* Параметры для переопределения настроек по умолчанию
* @return string
*/
public static function generate($className, $tableName = NULL, $params = array())
{
if (strpos($className, 'z_') === 0 && Z_Auth::getInstance()->getUser()->getRole() == 'root') {
$path_prefix = APPLICATION_PATH . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'Z' . DIRECTORY_SEPARATOR . 'Model';
self::$_classPrefix = isset($params['prefixz']) ? $params['prefixz'] : self::$_classPrefixZ;
} else {
$path_prefix = APPLICATION_PATH . DIRECTORY_SEPARATOR . 'models';
self::$_classPrefix = isset($params['prefix']) ? $params['prefix'] : self::$_classPrefix;
}
if ($tableName == NULL) {
$tableName = strtolower($className);
}
$className = explode('_', $className);
$className = array_map('ucfirst', $className);
$path = $className;
unset($path[count($path) - 1]);
$path = implode(DIRECTORY_SEPARATOR, $path);
$filename = $className[count($className) - 1] . '.php';
$className = implode('_', $className);
$filepath = $path_prefix . DIRECTORY_SEPARATOR . $path;
$generator = new Zend_CodeGenerator_Php_Class();
$generator->setName(self::$_classPrefix . $className)->setExtendedClass(self::$_extendedClass)->setProperty(array('name' => '_name', 'visibility' => 'protected', 'defaultValue' => $tableName));
Z_Fs::create_file($filepath . DIRECTORY_SEPARATOR . $filename, "<?\n" . $generator->generate());
}
示例7: testNameAccessors
public function testNameAccessors()
{
$codeGenClass = new Zend_CodeGenerator_Php_Class();
$codeGenClass->setName('TestClass');
$this->assertEquals($codeGenClass->getName(), 'TestClass');
}
示例8: die
if (!$column['NULLABLE'] and !in_array($key, $required) and !$column['IDENTITY']) {
$required[] = $key;
}
}
} else {
die("Table " . $table_name . " does not exist.\n");
}
// create new model class
$model_class = new Zend_CodeGenerator_Php_Class();
$model_class->setName($object_name)->setExtendedClass($abstract_table_object_name)->setProperties(array(array('name' => '_name', 'visibility' => 'protected', 'defaultValue' => $table_name), array('name' => '_primary', 'visibility' => 'protected', 'defaultValue' => $pk)));
$model_file = new Zend_CodeGenerator_Php_File();
$model_file->setClass($model_class);
// create new controller class
$controller_class = new Zend_CodeGenerator_Php_Class();
if ($is_admin) {
$controller_class->setName($controller_name)->setExtendedClass("Bolts_Controller_Action_Admin");
} else {
$controller_class->setName($controller_name)->setExtendedClass("Bolts_Controller_Action_Abstract");
}
if (!is_array($pk)) {
// init method - required for all Communitas controller classes
$init_method = new Zend_CodeGenerator_Php_Method();
$init_method_body = "\t\tparent::init();";
$init_method->setName('init')->setBody($init_method_body);
$controller_class->setMethod($init_method);
// edit action
$edit_method = new Zend_CodeGenerator_Php_Method();
$edit_method_body = file_get_contents($basepath . "/modules/bolts/extras/crudify_templates/editAction.txt");
$data_array_string = "";
$data_validation_string = "";
$error_view_variables = "";
示例9: create
/**
* Method create's new migration file
*
* @param string $module Module name
* @param null $migrationBody
* @param string $label
* @param string $desc
* @return string Migration name
*/
public function create($module = null, $migrationBody = null, $label = '', $desc = '')
{
$path = $this->getMigrationsDirectoryPath($module);
list($sec, $msec) = explode(".", microtime(true));
$_migrationName = date('Ymd_His_') . substr($msec, 0, 2);
if (!empty($label)) {
$_migrationName .= '_' . $label;
}
// Configuring after instantiation
$methodUp = new Zend_CodeGenerator_Php_Method();
$methodUp->setName('up')->setBody('// upgrade');
// Configuring after instantiation
$methodDown = new Zend_CodeGenerator_Php_Method();
$methodDown->setName('down')->setBody('// degrade');
//add description
if (!empty($desc)) {
$methodDesc = new Zend_CodeGenerator_Php_Method();
$methodDesc->setName('getDescription')->setBody("return '" . addslashes($desc) . "'; ");
}
if ($migrationBody) {
if (isset($migrationBody['up'])) {
$upBody = '';
foreach ($migrationBody['up'] as $query) {
$upBody .= '$this->query(\'' . $query . '\');' . PHP_EOL;
}
$methodUp->setBody($upBody);
}
if (isset($migrationBody['down'])) {
$downBody = '';
foreach ($migrationBody['down'] as $query) {
$downBody .= '$this->query(\'' . $query . '\');' . PHP_EOL;
}
$methodDown->setBody($downBody);
}
}
$class = new Zend_CodeGenerator_Php_Class();
$className = (null !== $module ? ucfirst($module) . '_' : '') . 'Migration_' . $_migrationName;
$class->setName($className)->setExtendedClass('Core_Migration_Abstract')->setMethod($methodUp)->setMethod($methodDown);
if (isset($methodDesc)) {
$class->setMethod($methodDesc);
}
$file = new Zend_CodeGenerator_Php_File();
$file->setClass($class)->setFilename($path . '/' . $_migrationName . '.php')->write();
return $_migrationName;
}
示例10: testAllowsClassConstantToHaveSameNameAsClassProperty
/**
* @group ZF-11513
*/
public function testAllowsClassConstantToHaveSameNameAsClassProperty()
{
$const = new Zend_CodeGenerator_Php_Property();
$const->setName('name')->setDefaultValue('constant')->setConst(true);
$property = new Zend_CodeGenerator_Php_Property();
$property->setName('name')->setDefaultValue('property');
$codeGenClass = new Zend_CodeGenerator_Php_Class();
$codeGenClass->setName('My_Class')->setProperties(array($const, $property));
$expected = <<<CODE
class My_Class
{
const name = 'constant';
public \$name = 'property';
}
CODE;
$this->assertEquals($expected, $codeGenClass->generate());
}
示例11: create
/**
* Create (or modify) given class
*
* @param string $className
* @param Zend_CodeGenerator_Php_Class $class
*
* @return Zend_CodeGenerator_Php_Class
*/
public static function create($className, Zend_CodeGenerator_Php_Class $class = null)
{
// If no class data is given and the class already exists there's no point in "creating" it
if ($class == null and XDT_CLI_Helper::classExists($className)) {
return self::get($className);
}
// Only create class if the file is available or we have class data
$filePath = self::getClassPath($className);
$fileContents = file_exists($filePath) ? file_get_contents($filePath) : false;
if (empty($fileContents) or $class != null) {
// Load blank CodeGenerator file
$file = new Zend_CodeGenerator_Php_File();
// Create CodeGenerato Class if it wasn't provided as a parm
if ($class == null) {
$class = new Zend_CodeGenerator_Php_Class();
$class->setName($className);
}
// Append class to file
$file->setClass($class);
// Write to file
XDT_CLI_Helper::writeToFile($filePath, $file->generate(), true);
XDT_CLI_Abstract::getInstance()->printMessage("File: " . $filePath);
} else {
XDT_CLI_Abstract::getInstance()->bail("File already exists: " . $filePath);
}
return self::get($className);
}
示例12: insertControl
public function insertControl($data)
{
$ok = true;
$name = ucfirst($data['parentid']);
$model = new Zend_CodeGenerator_Php_Class();
$model->setName('Default_Model_' . $name);
if ($data['parent']) {
$model->setExtendedClass($data['parent']);
}
$prop = array();
if ($data['table']) {
$prop[] = array('name' => '_name', 'visibility' => 'protected', 'defaultValue' => trim($data['table']));
}
if ($data['multilang']) {
$ml = explode(',', str_replace(array(' '), array(''), trim($data['multilang'])));
$prop[] = array('name' => '_multilang_field', 'visibility' => 'protected', 'defaultValue' => $ml);
}
if ($prop) {
$model->setProperties($prop);
}
if ($data['method']) {
$met = array();
foreach ($data['method'] as $el) {
$mn = $mb = '';
$mp = array();
switch ($el) {
case 'list':
$mn = 'fetchList';
$mb = 'return $this->fetchAll();';
break;
case 'list_join':
$mn = 'fetchList';
$mb = '$m = new Default_Model_Temp();
$s = $this->getAdapter()->select()
->from(array(\'i\' => $this->info(\'name\')))
->join(array(\'m\' => $m->info(\'name\')), \'i.parentid = m.id\', array(
\'temp\' => \'o.title\'
))
->group(\'i.id\')
->order(\'i.orderid\');
return $this->fetchAll($s);';
break;
case 'card':
$mn = 'fetchCard';
$mp = array(array('name' => 'id'));
$mb = 'return $this->fetchRow(array(\'`stitle` = ?\' => $id));';
break;
case 'card_join':
$mn = 'fetchCard';
$mp = array(array('name' => 'id'));
$mb = '$m = new Default_Model_Temp();
$s = $this->getAdapter()->select()
->from(array(\'i\' => $this->info(\'name\')))
->join(array(\'m\' => $m->info(\'name\')), \'i.parentid = m.id\', array(
\'temp\' => \'o.title\'
))
->group(\'i.id\')
->where(\'`stitle` = ?\', $id);
return $this->fetchRow($s);';
break;
case 'idtitle':
$mn = 'fetchIdTitle';
$mb = 'return $this->fetchPairs(\'id\', \'title\', null, \'orderid\');';
break;
}
if ($mn) {
$met[] = array('name' => $mn, 'body' => $mb, 'parameters' => $mp);
}
}
if ($met) {
$model->setMethods($met);
}
}
$c = '<?php' . "\n\n" . $model->generate();
$ok = file_put_contents(APPLICATION_PATH . '/models/' . $name . '.php', $c);
if ($ok) {
@chmod(APPLICATION_PATH . '/models/' . $name . '.php', 0777);
}
if ($data['table'] && $data['table_create']) {
$n = substr($data['table_create'], 3);
$model = new Default_Model_Page();
switch (substr($data['table_create'], 0, 3)) {
case '_e_':
$model->getAdapter()->query('CREATE TABLE `' . $data['table'] . '` LIKE `' . $n . '`');
break;
case '_t_':
$c = file_get_contents(APPLICATION_PATH . '/../library/Zkernel/Other/Template/Db/' . $n);
if ($c) {
$c = str_replace(array('%name%'), array($data['table']), $c);
$model->getAdapter()->query($c);
}
break;
}
}
return $ok;
}
示例13: 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}"))));
//.........这里部分代码省略.........
示例14:
'defaultValue' => $table_name,
),
array(
'name' => '_primary',
'visibility' => 'protected',
'defaultValue' => $pk,
),
));
$model_file = new Zend_CodeGenerator_Php_File();
$model_file->setClass($model_class);
// create new controller class
$controller_class = new Zend_CodeGenerator_Php_Class();
if ($is_admin)
{
$controller_class->setName($controller_name)->setExtendedClass("RivetyCore_Controller_Action_Admin");
}
else
{
$controller_class->setName($controller_name)->setExtendedClass("RivetyCore_Controller_Action_Abstract");
}
if (!is_array($pk))
{
// init method - required for all Rivety controller classes
$init_method = new Zend_CodeGenerator_Php_Method();
$init_method_body = "\t\tparent::init();";
$init_method->setName('init')->setBody($init_method_body);
$controller_class->setMethod($init_method);
// edit action
示例15: testSetextendedclassShouldNotIgnoreNonEmptyClassnameOnGenerate
/**
* @group ZF-9602
*/
public function testSetextendedclassShouldNotIgnoreNonEmptyClassnameOnGenerate()
{
$codeGenClass = new Zend_CodeGenerator_Php_Class();
$codeGenClass->setName('MyClass')->setExtendedClass('ParentClass');
$expected = <<<CODE
class MyClass extends ParentClass
{
}
CODE;
$this->assertEquals($expected, $codeGenClass->generate());
}