本文整理汇总了PHP中Application::camelize方法的典型用法代码示例。如果您正苦于以下问题:PHP Application::camelize方法的具体用法?PHP Application::camelize怎么用?PHP Application::camelize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Application
的用法示例。
在下文中一共展示了Application::camelize方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getWidgetsList
public function getWidgetsList($path = "")
{
$prefix = "app/modules/";
$d = dir($prefix . $path);
$list = array();
while (false !== ($entry = $d->read())) {
if ($entry != "." && $entry != ".." && is_dir("{$prefix}{$path}/{$entry}")) {
if (file_exists("{$prefix}{$path}/{$entry}/" . Application::camelize("{$path}/{$entry}", "/") . "Widget.php")) {
add_include_path("{$prefix}{$path}/{$entry}");
$widgetClass = Application::camelize("{$path}/{$entry}", "/") . "Widget";
$widget = new $widgetClass();
Application::camelize("{$path}/{$entry}");
$list[] = array("label" => "{$widget->label} Widget", "name" => substr("{$path}/{$entry}", 1));
}
$list = array_merge($list, $this->getWidgetsList("{$path}/{$entry}"));
}
}
return $list;
}
示例2: add_include_path
add_include_path($directoryPath . "constraints", false);
add_include_path($directoryPath . "login", false);
add_include_path($directoryPath . "logout", false);
add_include_path($directoryPath . "password_history", false);
add_include_path($directoryPath . "role_validity", false);
add_include_path($directoryPath . "roles", false);
add_include_path($directoryPath . "users", false);
add_include_path($directoryPath . "users_roles", false);
//Add lib for auth
add_include_path(__DIR__ . "/lib", false);
// Load the applications configuration file and define the home
require "app/config.php";
define("SOFTWARE_HOME", $config['home']);
// Add the script which contains the third party libraries
require "app/includes.php";
// Setup the global variables needed by the redirected packages
global $redirectedPackage;
global $packageSchema;
$selected = getenv('CFX_SELECTED_DATABASE') !== false ? getenv('CFX_SELECTED_DATABASE') : $selected;
// Setup the database driver and other boilerplate stuff
$dbDriver = $config['db'][$selected]['driver'];
$dbDriverClass = Application::camelize($dbDriver);
add_include_path(Application::getWyfHome("models/datastores/databases/{$dbDriver}"));
Db::$defaultDatabase = $selected;
SQLDBDataStore::$activeDriverClass = $dbDriverClass;
Application::$config = $config;
Application::$prefix = $config['prefix'];
Cache::init($config['cache']['method']);
define('CACHE_MODELS', $config['cache']['models']);
define('CACHE_PREFIX', "");
define('ENABLE_AUDIT_TRAILS', $config['audit_trails']);
示例3: _load
private static function _load($model, $path)
{
global $packageSchema;
global $redirectedPackage;
$model = (substr($model, 0, 1) == "." ? $redirectedPackage : "") . $model;
$model_path = SOFTWARE_HOME . ($path == null ? Application::$packagesPath : $path) . "app/modules/" . str_replace(".", "/", $model) . "/";
$modelClassName = Application::camelize($model) . "Model";
add_include_path($model_path, false);
$array = explode(".", $model);
$model_name = array_pop($array);
if (file_exists("{$model_path}/model.xml")) {
if (CACHE_MODELS) {
Cache::add("model_path_{$model}", $model_path);
}
$instance = XMLDefinedSQLDatabaseModel::create($model_path, $model_name, $model, $path);
$instance->postInitHook();
} else {
if (file_exists("{$model_path}/{$modelClassName}.php")) {
if (CACHE_MODELS) {
Cache::add("model_path_{$model}", $model_path);
}
$instance = new $modelClassName($model, $model_name);
$instance->postInitHook();
} else {
$modelPathArray = explode(".", $model);
$baseModelPath = SOFTWARE_HOME . ($path == null ? Application::$packagesPath : $path) . "app/modules/";
foreach ($modelPathArray as $index => $path) {
$baseModelPath = $baseModelPath . "{$path}/";
if (file_exists($baseModelPath . "package_redirect.php")) {
include $baseModelPath . "package_redirect.php";
$modelPathArray = array_slice($modelPathArray, $index + 1);
$modelClassName = $package_name . Application::camelize(implode(".", $modelPathArray)) . "Model";
$modelIncludePath = SOFTWARE_HOME . $redirect_path . "/" . implode("/", $modelPathArray);
$packageSchema = $package_schema;
$redirectedPackage = $redirectedPackage == "" ? $package_path : $redirectedPackage;
add_include_path($modelIncludePath, false);
$instance = new $modelClassName($model, $model_name);
$instance->redirectedPackage = $redirectedPackage;
$instance->packageSchema = $packageSchema;
$instance->postInitHook();
if (CACHE_MODELS) {
Cache::add("model_path_{$model}", $modelIncludePath);
}
}
}
if ($instance == null) {
throw new ModelException("Failed to load Model [{$model}] with [{$modelClassName}]");
}
}
}
return $instance;
}
示例4: camelize
/**
* A utility method which generates camelized names for classes. It is called
* throughout the application to convert URLs and model paths.
*
* @param string $string
* @param string $delimiter
* @param string $baseDelimiter
*/
public static function camelize($string, $delimiter = ".", $baseDelimiter = "")
{
if ($baseDelimiter == "") {
$baseDelimiter = $delimiter;
}
$parts = explode($delimiter, $string);
$ret = "";
foreach ($parts as $part) {
$ret .= $delimiter == $baseDelimiter ? ucfirst(Application::camelize($part, "_", $baseDelimiter)) : ucfirst($part);
}
return $ret;
}
示例5: load
/**
* A utility method to load a controller. This method loads the controller
* and fetches the contents of the controller into the Controller::$contents
* variable if the get_contents parameter is set to true on call. If a controller
* doesn't exist in the module path, a ModelController is loaded to help
* manipulate the contents of the model. If no model exists in that location,
* it is asumed to be a package and a package controller is loaded.
*
* @param $path The path for the model to be loaded.
* @param $get_contents A flag which determines whether the contents of the
* controller should be displayed.
* @return Controller
*/
public static function load($path, $get_contents = true)
{
global $redirectedPackage;
global $packageSchema;
$controller_path = "";
$controller_name = "";
$redirected = false;
$redirect_path = "";
$package_name = "";
$package_main = "";
//Go through the whole path and build the folder location of the system
for ($i = 0; $i < count($path); $i++) {
$p = $path[$i];
$baseClassName = $package_name . Application::camelize("{$controller_path}/{$p}", "/");
if (file_exists(SOFTWARE_HOME . "app/modules/{$controller_path}/{$p}/{$baseClassName}Controller.php")) {
$controller_class_name = $baseClassName . "Controller";
$controller_name = $p;
$controller_path .= "/{$p}";
$controller_type = Controller::TYPE_MODULE;
add_include_path("app/modules/{$controller_path}/");
break;
} else {
if (file_exists(SOFTWARE_HOME . "app/modules/{$controller_path}/{$p}/{$p}.php")) {
$controller_name = $p;
$controller_path .= "/{$p}";
$controller_type = Controller::TYPE_MODULE;
break;
} else {
if (file_exists(SOFTWARE_HOME . "app/modules/{$controller_path}/{$p}/{$baseClassName}Model.php")) {
$controller_name = $p;
$controller_path .= "/{$p}";
$controller_type = Controller::TYPE_MODEL;
break;
} else {
if (file_exists(SOFTWARE_HOME . "app/modules/{$controller_path}/{$p}/model.xml")) {
$controller_name = $p;
$controller_path .= "/{$p}";
$controller_type = Controller::TYPE_MODEL;
break;
} else {
if (file_exists(SOFTWARE_HOME . "app/modules/{$controller_path}/{$p}/report.xml")) {
$controller_name = $p;
$controller_path .= "/{$p}";
$controller_type = Controller::TYPE_REPORT;
break;
} else {
if (file_exists(SOFTWARE_HOME . "app/modules/{$controller_path}/{$p}/package_redirect.php")) {
include SOFTWARE_HOME . "app/modules/{$controller_path}/{$p}/package_redirect.php";
$redirected = true;
$previousControllerPath = $controller_path . "/{$p}";
$controller_path = "";
$redirectedPackage = $package_path;
$packageSchema = $package_schema;
} else {
if ($redirected === true && file_exists(SOFTWARE_HOME . "{$redirect_path}/{$controller_path}/{$p}/report.xml")) {
$controller_name = $p;
$controller_path .= "/{$p}";
$controller_type = Controller::TYPE_REPORT;
break;
} else {
if ($redirected === true && file_exists(SOFTWARE_HOME . "{$redirect_path}/{$controller_path}/{$p}/{$baseClassName}Controller.php")) {
$controller_class_name = $baseClassName . "Controller";
$controller_name = $p;
$controller_path .= "/{$p}";
$controller_type = Controller::TYPE_MODULE;
$package_main .= $p;
add_include_path("{$redirect_path}/{$controller_path}/");
break;
} else {
$controller_path .= "/{$p}";
if ($redirected) {
$package_main .= "{$p}.";
}
}
}
}
}
}
}
}
}
}
// Check the type of controller and load it.
switch ($controller_type) {
case Controller::TYPE_MODULE:
// Load a module controller which would be a subclass of this
// class
//.........这里部分代码省略.........
示例6: getForm
/**
* Returns the form that this controller uses to manipulate the data stored
* in its model. As stated earlier the form is either automatically generated
* or it is loaded from an existing file which is located in the same
* directory as the model and bears the model's name.
*
* @return Form
*/
protected function getForm()
{
// Load a local form if it exists.
if ($this->redirected) {
$formName = $this->redirectedPackageName . Application::camelize($this->mainRedirectedPackage) . "Form";
$formPath = $this->redirectPath . "/" . str_replace(".", "/", $this->mainRedirectedPackage) . "/" . $formName . ".php";
} else {
$formName = Application::camelize($this->model->package) . "Form";
$formPath = $this->localPath . "/" . $formName . ".php";
}
if (class_exists($formName)) {
$form = new $formName();
} else {
if (is_file($formPath)) {
include_once $formPath;
$form = new $formName();
} else {
if (is_file($this->localPath . "/" . $this->name . "Form.php")) {
include_once $this->localPath . "/" . $this->name . "Form.php";
$formclass = $this->name . "Form";
$form = new $formclass();
} else {
$form = new MCDefaultForm($this->model);
}
}
}
return $form;
}
示例7: getForm
/**
* Returns the form that this controller uses to manipulate the data stored
* in its model. As stated earlier the form is either automatically generated
* or it is loaded from an existing file which is located in the same
* directory as the model and bears the model's name.
*
* @return Form
*/
protected function getForm()
{
// Load a local form if it exists.
if ($this->redirected) {
$formName = $this->redirectedPackageName . Application::camelize($this->mainRedirectedPackage) . "Form";
$formPath = $this->redirectPath . "/" . str_replace(".", "/", $this->mainRedirectedPackage) . "/" . $formName . ".php";
} else {
$formName = Application::camelize($this->model->package) . "Form";
$formPath = $this->localPath . "/" . $formName . ".php";
}
if (is_file($formPath)) {
include_once $formPath;
$form = new $formName();
} else {
if (is_file($this->localPath . "/" . $this->name . "Form.php")) {
include_once $this->localPath . "/" . $this->name . "Form.php";
$formclass = $this->name . "Form";
$form = new $formclass();
$form->setModel($this->model);
} else {
// Generate a form automatically
$fieldNames = array();
$fields = $this->model->getFields();
$form = new Form();
$form->setModel($this->model);
$names = array_keys($fields);
for ($i = 0; $i < count($fields); $i++) {
$field = $fields[$names[$i]];
if ($field['key'] == 'primary') {
continue;
}
if ($fieldNames[$i]["renderer"] == "") {
if ($field["reference"] == "") {
switch ($field["type"]) {
case "boolean":
$element = new Checkbox($field["label"], $field["name"], $field["description"], 1);
break;
case "enum":
$element = new SelectionList($field["label"], $field["name"]);
foreach ($field["options"] as $value => $option) {
$element->addOption($option, $value . "");
}
break;
case "date":
case "datetime":
$element = new DateField($field["label"], $field["name"]);
break;
case "integer":
case "double":
$element = new TextField($field["label"], $field["name"], $field["description"]);
$element->setAsNumeric();
break;
case "textarea":
$element = new TextArea($field["label"], $field["name"], $field["description"]);
break;
default:
$element = new TextField($field["label"], $field["name"], $field["description"]);
break;
}
} else {
$element = new ModelField($field["reference"], $field["referenceValue"]);
}
foreach ($field["validators"] as $validator) {
switch ($validator["type"]) {
case "required":
$element->setRequired(true);
break;
case "unique":
$element->setUnique(true);
break;
case "regexp":
$element->setRegexp((string) $validator["parameter"]);
break;
}
}
} else {
$renderer = (string) $fieldNames[$i]["renderer"];
$element = new $renderer();
}
$form->add($element);
}
$form->addAttribute("style", "width:50%");
$form->useAjax(true, false);
}
}
return $form;
}
示例8: getNestedModelInstance
private static function getNestedModelInstance($model, $path, $modelName)
{
global $packageSchema;
$modelPathArray = explode(".", $model);
$baseModelPath = SOFTWARE_HOME . ($path == null ? Application::$packagesPath : $path) . "app/modules/";
foreach ($modelPathArray as $index => $path) {
$baseModelPath = $baseModelPath . "{$path}/";
if (file_exists($baseModelPath . "package_redirect.php")) {
include $baseModelPath . "package_redirect.php";
$modelPathArray = array_slice($modelPathArray, $index + 1);
$modelClassName = $package_name . Application::camelize(implode(".", $modelPathArray)) . "Model";
$modelIncludePath = SOFTWARE_HOME . $redirect_path . "/" . implode("/", $modelPathArray);
$packageSchema = $package_schema;
$redirectedPackage = $redirectedPackage == "" ? $package_path : $redirectedPackage;
add_include_path($modelIncludePath, false);
$instance = new $modelClassName($model, $modelName);
$instance->postInitHook();
Cache::add("model_path_{$model}", $modelIncludePath);
}
}
if ($instance == null) {
throw new ModelException("Failed to load Model [{$model}] with [{$modelClassName}]");
}
return $instance;
}
示例9: getFormDetails
private function getFormDetails()
{
if ($this->redirected) {
$formName = $this->redirectedPackageName . Application::camelize($this->mainRedirectedPackage) . "Form";
$formPath = $this->redirectPath . "/" . str_replace(".", "/", $this->mainRedirectedPackage) . "/" . $formName . ".php";
} else {
$formName = Application::camelize($this->model->package) . "Form";
$formPath = $this->localPath . "/" . $formName . ".php";
}
return array('path' => $formPath, 'name' => $formName);
}