本文整理汇总了PHP中AkInflector::underscore方法的典型用法代码示例。如果您正苦于以下问题:PHP AkInflector::underscore方法的具体用法?PHP AkInflector::underscore怎么用?PHP AkInflector::underscore使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AkInflector
的用法示例。
在下文中一共展示了AkInflector::underscore方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: runCommand
function runCommand($command)
{
$commands = $this->getOptionsFromCommand($command);
$generator_name = AkInflector::underscore(isset($commands['generator']) ? $commands['generator'] : array_shift($commands));
$available_generators = $this->_getAvailableGenerators();
$generator_file_name = array_shift(array_keys($available_generators, $generator_name));
if (empty($generator_file_name)) {
echo "\n " . Ak::t("You must supply a valid generator as the first command.\n\n Available generator are:");
echo "\n\n " . join("\n ", $available_generators) . "\n\n";
defined('AK_CONSOLE_MODE') && AK_CONSOLE_MODE ? null : exit;
return;
}
if (include_once $generator_file_name) {
$generator_class_name = AkInflector::camelize($generator_name . '_generator');
$generator = new $generator_class_name();
$generator->_generator_base_path = dirname($generator_file_name);
if (count(array_diff($commands, array('help', '-help', 'usage', '-usage', 'h', '-h', 'USAGE', '-USAGE'))) != count($commands) || count($commands) == 0) {
if (empty($generator->command_values) && empty($commands)) {
// generator without commands
} else {
$generator->banner();
return;
}
}
$generator->type = $generator_name;
$generator->_identifyUnnamedCommands($commands);
$generator->_assignVars($commands);
$generator->cast();
$generator->_generate();
} else {
echo "\n" . Ak::t('Could not find %generator_name generator', array('%generator_name' => $generator_name)) . "\n";
}
}
示例2: generate
function generate()
{
$this->_preloadPaths();
$this->class_name = AkInflector::camelize($this->class_name);
$files = array(
'mailer'=>AkInflector::toModelFilename($this->class_name),
'unit_test'=>AK_TEST_DIR.DS.'unit'.DS.'app'.DS.'models'.DS.$this->underscored_class_name.'.php'
);
foreach ($files as $template=>$file_path){
$this->save($file_path, $this->render($template));
}
$mailer_views_folder = AK_VIEWS_DIR.DS.AkInflector::underscore($this->class_name);
@Ak::make_dir($mailer_views_folder);
foreach ($this->actions as $action){
$this->assignVarToTemplate('action', $action);
$path = $mailer_views_folder.DS.$action.'.tpl';
$this->assignVarToTemplate('path', $path);
$this->save($path, $this->render('view'));
}
}
示例3: addHelper
function addHelper($helper_name, $helper_path = null)
{
require_once AK_LIB_DIR . DS . 'AkActionView' . DS . 'AkHelperLoader.php';
$helper_name = AkInflector::camelize($helper_name);
$helper_path = empty($helper_path) ? $this->getPath() . DS . 'lib' . DS . AkInflector::underscore($helper_name) . '.php' : $helper_path;
AkHelperLoader::addPluginHelper($helper_name, array('path' => $helper_path));
}
示例4: installAndIncludeModels
function installAndIncludeModels($models = array())
{
$args = func_get_args();
$models = !empty($args) ? (is_array($args[0]) ? $args[0] : (count($args) > 1 ? $args : Ak::toArray($args[0]))) : array();
$default_options = array('instantiate' => true);
$options = is_array($models[count($models)-1]) ? array_pop($models) : array();
$options = array_merge($default_options, $options);
foreach ($models as $model){
require_once(AK_APP_DIR.DS.'installers'.DS.(empty($this->module)?'':$this->module.DS).AkInflector::underscore($model).'_installer.php');
require_once(AK_MODELS_DIR.DS.AkInflector::underscore($model).'.php');
$installer_name = $model.'Installer';
$installer = new $installer_name();
$installer->uninstall();
$installer->install();
if($this->insert_models_data || !empty($options['populate'])){
$this->populateTables(AkInflector::tableize($model));
}
if($this->instantiate_models || !empty($options['instantiate'])){
$this->instantiateModel($model);
}
}
if(isset($_SESSION['__activeRecordColumnsSettingsCache'])){
unset($_SESSION['__activeRecordColumnsSettingsCache']);
}
}
示例5: cast
function cast()
{
$this->model_name = AkInflector::camelize($this->model_name);
$this->model_file_path = AkInflector::toModelFilename($this->model_name);
if (empty($this->actions) && !empty($this->controller_name) && strstr($this->controller_name, ',')) {
$this->controller_name = '';
}
$this->controller_name = empty($this->controller_name) ? AkInflector::pluralize($this->model_name) : AkInflector::camelize($this->controller_name);
$this->controller_file_path = AkInflector::toControllerFilename($this->controller_name);
$this->controller_class_name = str_replace(array('/', '::'), '_', $this->controller_name . 'Controller');
$this->controller_name = AkInflector::demodulize($this->controller_name);
$this->controller_human_name = AkInflector::humanize($this->controller_name);
$this->helper_name = (AkInflector::is_plural($this->controller_name) ? AkInflector::singularize($this->controller_name) : $this->controller_name) . 'Helper';
$this->helper_var_name = '$' . AkInflector::underscore($this->helper_name);
$this->singular_name = AkInflector::underscore($this->model_name);
$this->plural_name = AkInflector::pluralize($this->singular_name);
$this->singular_controller_name = AkInflector::underscore($this->controller_name);
$this->module_preffix = AkInflector::underscore(substr($this->controller_class_name, 0, strrpos($this->controller_class_name, '_')));
$this->module_preffix = empty($this->module_preffix) ? '' : DS . $this->module_preffix;
$this->files = array('controller.php' => $this->controller_file_path, 'helper.php' => AK_HELPERS_DIR . $this->module_preffix . DS . trim($this->helper_var_name, '$') . '.php', 'layout' => AK_VIEWS_DIR . DS . 'layouts' . DS . $this->singular_controller_name . '.tpl', 'view_add' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'add.tpl', 'view_destroy' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'destroy.tpl', 'view_edit' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'edit.tpl', 'view_listing' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'listing.tpl', 'view_show' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'show.tpl', 'form' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . '_form.tpl');
$this->user_actions = array();
foreach ((array) @$this->actions as $action) {
$this->user_actions[$action] = AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . $action . '.tpl';
}
}
示例6: toString
/**
* Displays a tring representation of the model for debugging.
*/
public function toString($print = false)
{
$result = '';
if (!AK_CLI || AK_ENVIRONMENT == 'testing' && !AK_CLI) {
$result = "<h2>Details for " . AkInflector::humanize(AkInflector::underscore($this->_Model->getModelName())) . " with " . $this->_Model->getPrimaryKey() . " " . $this->_Model->getId() . "</h2>\n<dl>\n";
foreach ($this->_Model->getColumnNames() as $column => $caption) {
$result .= "<dt>{$caption}</dt>\n<dd>" . $this->_Model->getAttribute($column) . "</dd>\n";
}
$result .= "</dl>\n<hr />";
if ($print) {
echo $result;
}
} elseif (AK_DEV_MODE) {
$result = "\n" . str_replace("\n", " ", var_export($this->_Model->getAttributes(), true));
$result .= "\n";
echo $result;
return '';
} elseif (AK_CLI) {
$result = "\n-------\n Details for " . AkInflector::humanize(AkInflector::underscore($this->_Model->getModelName())) . " with " . $this->_Model->getPrimaryKey() . " " . $this->_Model->getId() . " ==\n\n/==\n";
foreach ($this->_Model->getColumnNames() as $column => $caption) {
$result .= "\t * {$caption}: " . $this->_Model->getAttribute($column) . "\n";
}
$result .= "\n\n-------\n";
if ($print) {
echo $result;
}
}
return $result;
}
示例7: cast
function cast()
{
$this->model_name = AkInflector::camelize($this->model_name);
$this->model_file_path = AkInflector::toModelFilename($this->model_name);
$this->controller_name = empty($this->controller_name) ? $this->model_name : (AkInflector::camelize($this->controller_name));
$this->controller_file_path = AkInflector::toControllerFilename($this->controller_name);
$this->controller_class_name = $this->controller_name.'Controller';
$this->controller_human_name = AkInflector::humanize($this->controller_name);
$this->helper_var_name = '$'.AkInflector::underscore($this->controller_name).'_helper';
$this->singular_name = AkInflector::underscore($this->model_name);
$this->plural_name = AkInflector::pluralize($this->singular_name);
$this->singular_controller_name = AkInflector::underscore($this->controller_name);
$this->files = array(
'controller.php' => $this->controller_file_path,
/**
* @todo Implement generic functional tests
*/
// 'functional_test.php' => AK_TEST_DIR.DS.'functional'.DS.'test_'.$this->controller_class_name.'.php',
'helper.php' => AK_HELPERS_DIR.DS.trim($this->helper_var_name,'$').'.php',
'layout' => AK_VIEWS_DIR.DS.'layouts'.DS.$this->singular_controller_name.'.tpl',
'view_add' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'add.tpl',
'view_destroy' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'destroy.tpl',
'view_edit' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'edit.tpl',
'view_listing' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'listing.tpl',
'view_show' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'show.tpl',
'form' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'_form.tpl',
);
$this->user_actions = array();
foreach ((array)@$this->actions as $action){
$this->user_actions[$action] = AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.$action.'.tpl';
}
}
示例8: init
function init($options = array())
{
$success = $this->_ensureIsActiveRecordInstance($this->_ActiveRecordInstance);
$singularized_model_name = AkInflector::underscore(AkInflector::singularize($this->_ActiveRecordInstance->getTableName()));
$default_options = array('class_name' => $this->_ActiveRecordInstance->getModelName() . 'IpGeocodeLookup');
$this->options = array_merge($default_options, $options);
return $success;
}
示例9: link_to_node
public function link_to_node($Node, $options = array())
{
$detault_options = array('display' => 'name', 'id' => $Node->id, 'controller' => AkInflector::underscore($Node->getModelName()), 'action' => 'edit');
$options = array_merge($detault_options, $options);
$display = $Node->get($options['display']);
unset($options['display']);
return $this->_controller->url_helper->link_to($display, $options);
}
示例10: getUrlParamsForModel
public static function getUrlParamsForModel(AkBaseModel $Model)
{
$url_function = AkInflector::underscore($Model->getModelName()) . '_params';
if (!function_exists($url_function)) {
throw new Exception($url_function . ' function not found for AkRouterHelper::getUrlOptionsForModel');
}
return $url_function($Model);
}
示例11: init
public function init($options = array())
{
$success = $this->_ensureIsActiveRecordInstance($this->_ActiveRecordInstance);
$singularized_model_name = AkInflector::underscore(AkInflector::singularize($this->_ActiveRecordInstance->getTableName()));
$default_options = array('base_path' => AK_BASE_DIR . DS . 'index' . AK_ENVIRONMENT . DS);
$this->options = array_merge($default_options, $options);
return $success;
}
示例12: _preloadPaths
function _preloadPaths()
{
$this->class_name = AkInflector::camelize($this->class_name);
$this->assignVarToTemplate('class_name', $this->class_name);
$this->table_name = AkInflector::tableize($this->class_name);
$this->underscored_model_name = AkInflector::underscore($this->class_name);
$this->model_path = 'app' . DS . 'models' . DS . $this->underscored_model_name . '.php';
$this->installer_path = 'app' . DS . 'installers' . DS . $this->underscored_model_name . '_installer.php';
}
示例13: Test_of_underscore
function Test_of_underscore()
{
foreach ($this->CamelToUnderscore as $camel => $underscore) {
$this->assertEqual($underscore, AkInflector::underscore($camel));
}
foreach ($this->CamelToUnderscoreWithoutReverse as $camel => $underscore) {
$this->assertEqual($underscore, AkInflector::underscore($camel));
}
}
示例14: getPaginator
/**
* Returns a paginator object
*
* Options:
* 'items_per_page' => 15, // Number of items per page
* 'page_var_on_url' => 'page', // This var will be passed thru the url for pointing to current page
* 'count_method' => 'count' // This method will be called on selected model to get the total number of items.
* 'count_conditions' => null // A string that will be passed as the first parameter (conditions) to the count method
* 'count_joins' => null // A string that will be passed as the seccond parameter (join options) to the count method.
* 'column_dictionary' => array() // In case you need to map the sort key from the url to the database column you must define an array pair
* 'include' => array() // In case current sort column is not found on current model or in the column_dictionary this helper will look for the first associated model witrh a column named like given sort parameter.
*/
public function getPaginator(&$object, $options = array())
{
$default_options = array('items_per_page' => 15, 'page_var_on_url' => 'page', 'count_method' => 'count', 'count_conditions' => null, 'count_joins' => null);
$options = array_merge($default_options, $options);
$paginator_name = AkInflector::underscore($object->getModelName()) . '_pages';
$this->{$paginator_name} = new AkPaginator($this->_controller, $object->{$options['count_method']}($options['count_conditions'], $options['count_joins']), $options['items_per_page'], @$this->_controller->params[$options['page_var_on_url']]);
$this->{$paginator_name}->_ak_options =& $options;
return $this->{$paginator_name};
}
示例15: includeClass
/**
* @return boolean
*/
static function includeClass($search_path, $class_name)
{
$file_name = AkInflector::underscore($class_name) . '.php';
if ($full_filename = self::searchFilenameInPath($search_path, $file_name)) {
require_once $full_filename;
return true;
}
return false;
}