• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Ak类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Ak的典型用法代码示例。如果您正苦于以下问题:PHP Ak类的具体用法?PHP Ak怎么用?PHP Ak使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Ak类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: log

 public function log($message, $type = '', $identifyer = '')
 {
     if (AK_LOG_EVENTS) {
         $Logger =& Ak::getLogger();
         $Logger->log($message, $type);
     }
 }
开发者ID:joeymetal,项目名称:v1,代码行数:7,代码来源:AkObject.php


示例2: Method

 function &updateClassDetails(&$File, &$Component, &$SourceAnalyzer)
 {
     Ak::import('method');
     $MethodInstance =& new Method();
     $parsed_details = $SourceAnalyzer->getParsedArray($File->body);
     $available_classes = empty($parsed_details['classes']) ? array() : array_keys($parsed_details['classes']);
     if (empty($available_classes)) {
         return $available_classes;
     }
     $Classes = array();
     foreach ($available_classes as $class_name) {
         $extends = !empty($parsed_details['classes'][$class_name]['extends']) ? $parsed_details['classes'][$class_name]['extends'] : false;
         if ($extends) {
             $SourceAnalyzer->log('Looking for parent class: ' . $extends);
             $ParentClass =& $this->_addOrUpdateClassDetails($extends, $File, $Component, $SourceAnalyzer, array(), true);
         }
         $Class =& $this->_addOrUpdateClassDetails($class_name, $File, $Component, $SourceAnalyzer, $parsed_details['classes'][$class_name]);
         if (!empty($ParentClass)) {
             $SourceAnalyzer->log('Setting ' . $extends . ' as the parent of ' . $class_name);
             $ParentClass->tree->addChild($Class);
             $ParentClass->save();
         }
         $Class->methods = array();
         if (!empty($parsed_details['classes'][$class_name]['methods'])) {
             foreach ($parsed_details['classes'][$class_name]['methods'] as $method_name => $method_details) {
                 $Class->methods[] =& $MethodInstance->updateMethodDetails($Class, $method_name, $method_details, $SourceAnalyzer);
             }
         }
         $Classes[] =& $Class;
     }
     return $Classes;
 }
开发者ID:joeymetal,项目名称:v1,代码行数:32,代码来源:akelos_class.php


示例3: makeClassExtensible

 function makeClassExtensible($class_name_to_extend)
 {
     list($checksum, $source) = $this->_getExtensionSourceAndChecksum($class_name_to_extend);
     $merge_path = AK_TMP_DIR . DS . '.lib';
     if ($source) {
         if (preg_match_all('/[ \\n\\t]*([a-z]+)[ \\n\\t]*extends[ \\n\\t]*(' . $class_name_to_extend . ')[ \\n\\t]*[ \\n\\t]*{/i', $source, $matches)) {
             $replacements = array();
             $extended_by = array();
             foreach ($matches[2] as $k => $class_to_extend) {
                 if (empty($last_method) && class_exists($class_to_extend)) {
                     $last_method = $class_to_extend;
                 }
                 if ($class_to_extend == $last_method || !empty($extended_by[$class_to_extend]) && in_array($last_method, $extended_by[$class_to_extend])) {
                     if (!class_exists($matches[1][$k])) {
                         $replacements[trim($matches[0][$k], "\n\t {")] = $matches[1][$k] . ' extends ' . $last_method;
                         $last_method = $matches[1][$k];
                         $extended_by[$class_to_extend][] = $last_method;
                     } else {
                         trigger_error(Ak::t('The class %class is already defined and can\'t be used for extending %parent_class', array('%class' => $matches[1][$k], '%parent_class' => $class_name_to_extend)), E_NOTICE);
                     }
                 }
             }
             $source = str_replace(array_keys($replacements), array_values($replacements), $source);
         }
         $source = "{$source}<?php class Extensible{$class_name_to_extend} extends {$last_method}{} ?>";
         if (md5($source) != @md5_file($merge_path . DS . 'Extensible' . $class_name_to_extend . '.php')) {
             AkFileSystem::file_put_contents($merge_path . DS . 'Extensible' . $class_name_to_extend . '.php', $source);
             AkFileSystem::file_put_contents($merge_path . DS . 'checksums' . DS . 'Extensible' . $class_name_to_extend, $checksum);
         }
     }
     include_once $merge_path . DS . 'Extensible' . $class_name_to_extend . '.php';
 }
开发者ID:bermi,项目名称:akelos,代码行数:32,代码来源:class_extender.php


示例4: test_should_fill_the_table_with_yaml_data

    public function test_should_fill_the_table_with_yaml_data()
    {
        $unit_tester = new AkUnitTest();
        $unit_tester->installAndIncludeModels(array('TheModel'=>'id,name'));
        $TheModel =& $unit_tester->TheModel;
        $TheModel->create(array('name'=>'eins'));
        $TheModel->create(array('name'=>'zwei'));
        $TheModel->create(array('name'=>'drei'));
        $TheModel->create(array('name'=>'vier'));
        $this->assertEqual($TheModel->count(),4);

        $this->assertTrue($AllRecords = $TheModel->find());
        $yaml = $TheModel->toYaml($AllRecords);
        $this->assertFalse(file_exists(AK_TEST_DIR.DS.'fixtures'.DS.'data'.DS.'the_models.yaml'));
        Ak::file_put_contents(AK_TEST_DIR.DS.'fixtures'.DS.'data'.DS.'the_models.yaml',$yaml);

        $unit_tester->installAndIncludeModels(array('TheModel'=>'id,name'));
        $this->assertFalse($TheModel->find());
        $this->assertEqual($TheModel->count(),0);

        $unit_tester->installAndIncludeModels(array('TheModel'=>'id,name'),array('populate'=>true));
        $this->assertEqual($TheModel->count(),4);
        unlink(AK_TEST_DIR.DS.'fixtures'.DS.'data'.DS.'the_models.yaml');

    }
开发者ID:joeymetal,项目名称:v1,代码行数:25,代码来源:AkUnitTest.php


示例5: generate

    function generate()
    {
        $this->_preloadPaths();

        $this->class_name = AkInflector::camelize($this->class_name);

        $files = array(
        'model'=>AkInflector::toModelFilename($this->class_name),
        'unit_test'=>AK_TEST_DIR.DS.'unit'.DS.'app'.DS.'models'.DS.$this->underscored_model_name.'.php',
        'model_fixture.tpl'=>AK_TEST_DIR.DS.'fixtures'.DS.$this->model_path,
        'installer_fixture.tpl'=>AK_TEST_DIR.DS.'fixtures'.DS.$this->installer_path
        );

        $this->_template_vars = (array)$this;

        foreach ($files as $template=>$file_path){
            $this->save($file_path, $this->render($template));
        }

        $installer_path = AK_APP_DIR.DS.'installers'.DS.$this->underscored_model_name.'_installer.php';
        if(!file_exists($installer_path)){
            $this->save($installer_path, $this->render('installer'));
        }

        $unit_test_runner = AK_TEST_DIR.DS.'unit.php';
        if(!file_exists($unit_test_runner)){
            Ak::file_put_contents($unit_test_runner, file_get_contents(AK_FRAMEWORK_DIR.DS.'test'.DS.'app.php'));
        }

    }
开发者ID:joeymetal,项目名称:v1,代码行数:30,代码来源:model_generator.php


示例6: _run_from_file

 function _run_from_file($file_name, $all_in_one_test = true)
 {
     $multiple_expected_php = $multiple_sintags = '';
     $tests = explode('===================================', file_get_contents(AK_TEST_DIR . DS . 'fixtures' . DS . 'data' . DS . $file_name));
     foreach ($tests as $test) {
         list($sintags, $php) = explode('-----------------------------------', $test);
         $sintags = trim($sintags);
         $expected_php = trim($php);
         if (empty($sintags)) {
             break;
         } else {
             $multiple_sintags .= $sintags;
             $multiple_expected_php .= $expected_php;
         }
         $AkSintags =& new AkSintagsParser();
         $php = $AkSintags->parse($sintags);
         if ($php != $expected_php) {
             Ak::trace("GENERATED: \n" . $php);
             Ak::trace("EXPECTED: \n" . $expected_php);
             Ak::trace("SINTAGS: \n" . $sintags);
         }
         $this->assertEqual($php, $expected_php);
     }
     if ($all_in_one_test) {
         $AkSintags =& new AkSintagsParser();
         $php = $AkSintags->parse($multiple_sintags);
         if ($php != $multiple_expected_php) {
             Ak::trace("GENERATED: \n" . $php);
             Ak::trace("EXPECTED: \n" . $expected_php);
             Ak::trace("SINTAGS: \n" . $sintags);
         }
         $this->assertEqual($php, $multiple_expected_php);
     }
 }
开发者ID:joeymetal,项目名称:v1,代码行数:34,代码来源:AkSintags.php


示例7: test_should_establish_multiple_connections

    function test_should_establish_multiple_connections()
    {
        if(AK_PHP5){
            $db_settings = Ak::convert('yaml', 'array', AK_CONFIG_DIR.DS.'database.yml');
            $db_settings['sqlite_databases'] = array(
                    'database_file' => AK_TMP_DIR.DS.'testing_sqlite_database.sqlite',
                    'type' => 'sqlite'
                    );
            file_put_contents(AK_CONFIG_DIR.DS.'database.yml', Ak::convert('array', 'yaml', $db_settings));
        
       
            $this->installAndIncludeModels(array('TestOtherConnection'));

            Ak::import('test_other_connection');
            $OtherConnection = new TestOtherConnection(array('name'=>'Delia'));
            $this->assertTrue($OtherConnection->save());
        
        
            $this->installAndIncludeModels(array('DummyModel'=>'id,name'));
            $Dummy = new DummyModel();
        
            $this->assertNotEqual($Dummy->getConnection(), $OtherConnection->getConnection());
        
            unset($db_settings['sqlite_databases']);
            file_put_contents(AK_CONFIG_DIR.DS.'database.yml', Ak::convert('array', 'yaml', $db_settings));
        }
    }
开发者ID:joeymetal,项目名称:v1,代码行数:27,代码来源:_AkActiveRecord_connection_handling.php


示例8: test_should_update_plugin

 function test_should_update_plugin()
 {
     Ak::directory_delete(AK_PLUGINS_DIR.DS.'acts_as_versioned'.DS.'lib');
     $this->assertFalse(file_exists(AK_PLUGINS_DIR.DS.'acts_as_versioned'.DS.'lib'.DS.'ActsAsVersioned.php'));
     $this->PluginManager->updatePlugin('acts_as_versioned');
     $this->assertTrue(file_exists(AK_PLUGINS_DIR.DS.'acts_as_versioned'.DS.'lib'.DS.'ActsAsVersioned.php'));
 }
开发者ID:joeymetal,项目名称:v1,代码行数:7,代码来源:AkPluginManager.php


示例9: saveReport

 function saveReport()
 {
     if ($this->report == '') {
         $this->renderReport();
     }
     Ak::file_put_contents('profiler_results.txt', $this->report);
 }
开发者ID:joeymetal,项目名称:v1,代码行数:7,代码来源:AkProfiler.php


示例10: _getModelAttributesForViews

 private function _getModelAttributesForViews()
 {
     $attributes = array();
     $ModelInstance = Ak::get($this->class_name);
     if ($ModelInstance instanceof $this->class_name) {
         $table_name = $ModelInstance->getTableName();
         if (!empty($table_name)) {
             $attributes = $ModelInstance->getContentColumns();
             unset($attributes['updated_at'], $attributes['updated_on'], $attributes['created_at'], $attributes['created_on']);
         }
         $internationalized_columns = $ModelInstance->getInternationalizedColumns();
         foreach ($internationalized_columns as $column_name => $languages) {
             foreach ($languages as $lang) {
                 $attributes[$column_name] = $attributes[$lang . '_' . $column_name];
                 $attributes[$column_name]['name'] = $column_name;
                 unset($attributes[$lang . '_' . $column_name]);
             }
         }
     }
     $helper_methods = array('string' => 'text_field', 'text' => 'text_area', 'date' => 'text_field', 'datetime' => 'text_field');
     foreach ($attributes as $k => $v) {
         $attributes[$k]['type'] = $helper_methods[$attributes[$k]['type']];
     }
     return $attributes;
 }
开发者ID:bermi,项目名称:akelos,代码行数:25,代码来源:scaffold_controller_generator.php


示例11: index

 public function index()
 {
     $this->base_dir = AK_BASE_DIR;
     $this->akelos_dir = AK_FRAMEWORK_DIR;
     $this->tasks_dir = AK_TASKS_DIR;
     $this->has_configuration = file_exists(AkConfig::getDir('config') . DS . 'config.php');
     $this->has_routes = file_exists(AkConfig::getDir('config') . DS . 'routes.php');
     $this->has_database = file_exists(AkConfig::getDir('config') . DS . 'database.yml');
     $this->using_root_path = $this->Request->getPath() == '/';
     $this->new_install = !$this->has_configuration || !$this->has_routes || $this->using_root_path;
     $this->environment = AK_ENVIRONMENT;
     $this->memcached_on = AkMemcache::isServerUp();
     $this->constants = AkDebug::get_constants();
     $this->langs = Ak::langs();
     $this->database_settings = Ak::getSettings('database', false);
     $this->server_user = trim(AK_WIN ? `ECHO %USERNAME%` : `whoami`);
     $this->local_ips = AkConfig::getOption('local_ips', array('localhost', '127.0.0.1', '::1'));
     $paths = array(AK_APP_DIR . DS . 'locales');
     $this->invalid_permissions = array();
     foreach ($paths as $path) {
         if (is_dir($path) && !@file_put_contents($path . DS . '__test_file')) {
             $this->invalid_permissions[] = $path;
         } else {
             @unlink($path . DS . '__test_file');
         }
     }
 }
开发者ID:bermi,项目名称:akelos,代码行数:27,代码来源:akelos_dashboard_controller.php


示例12: 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'));
        }
    }
开发者ID:joeymetal,项目名称:v1,代码行数:25,代码来源:mailer_generator.php


示例13: setImage

 public function setImage($image_path)
 {
     $this->Image = new AkImage($image_path);
     $this->Image->transform('resize', array('size' => '24x24'));
     $this->_tmp_file = AK_TMP_DIR . DS . '__AkImageColorScheme_' . Ak::randomString(32) . '.jpg';
     $this->Image->save($this->_tmp_file);
 }
开发者ID:bermi,项目名称:akelos,代码行数:7,代码来源:color_scheme.php


示例14: setup

 function setup()
 {
     $this->installAndIncludeModels(array('Post', 'Tag', 'Comment'));
     $Installer = new AkInstaller();
     @$Installer->dropTable('posts_tags');
     @Ak::file_delete(AK_MODELS_DIR.DS.'post_tag.php');
 }
开发者ID:joeymetal,项目名称:v1,代码行数:7,代码来源:_AkActiveRecord_finders.php


示例15: test_start

 public function test_start()
 {
     $this->installAndIncludeModels(array(
     'Category'=>'id, parent_id, description, department string(25)'
     ));
     Ak::import('DependentCategory');
 }
开发者ID:joeymetal,项目名称:v1,代码行数:7,代码来源:AkActsAsTree.php


示例16: raiseError

 /**
  * @param int $errNo
  * @param string $errMsg
  * @param string $file
  * @param int $line
  * @return void
  * @access public
  */
 function raiseError($errNo, $errMsg, $file, $line)
 {
     if (!($errNo & error_reporting())) {
         return;
     }
     while (ob_get_level()) {
         ob_end_clean();
     }
     //echo nl2br(print_r(get_defined_vars(),true)).'<hr />';
     if (!($errNo & error_reporting())) {
         return;
     }
     while (ob_get_level()) {
         ob_end_clean();
     }
     $errType = array(1 => "Php Error", 2 => "Php Warning", 4 => "Parsing Error", 8 => "Php Notice", 16 => "Core Error", 32 => "Core Warning", 64 => "Compile Error", 128 => "Compile Warning", 256 => "Php User Error", 512 => "Php User Warning", 1024 => "Php User Notice");
     if (substr($errMsg, 0, 9) == 'database|') {
         die('Database connection error');
         header('Location: ' . AK_URL . Ak::tourl(array('controller' => 'error', 'action' => 'database')));
         exit;
     }
     $info = array();
     if ($errNo & E_USER_ERROR && is_array($arr = @unserialize($errMsg))) {
         foreach ($arr as $k => $v) {
             $info[$k] = $v;
         }
     }
 }
开发者ID:joeymetal,项目名称:v1,代码行数:36,代码来源:AkErrorHandler.php


示例17: testLangHasAutomaticRequirements

 public function testLangHasAutomaticRequirements()
 {
     $this->get('/jp/person/martin')->doesntMatch();
     foreach (Ak::langs() as $lang) {
         $this->get("/{$lang}/person")->matches(array('lang' => $lang));
     }
 }
开发者ID:bermi,项目名称:akelos,代码行数:7,代码来源:language_segments.php


示例18: _init

 function _init()
 {
     $this->logger =& Ak::getLogger();
     $base = AK_TEST_DIR . DS . 'unit' . DS . 'lib' . DS;
     $this->GroupTest($this->title);
     $allFiles = glob($base . $this->baseDir);
     if (isset($this->excludes)) {
         $excludes = array();
         $this->excludes = @Ak::toArray($this->excludes);
         foreach ($this->excludes as $pattern) {
             $excludes = array_merge($excludes, glob($base . $pattern));
         }
         $this->excludes = $excludes;
     } else {
         $this->excludes = array();
     }
     if (count($allFiles) >= 1 && $allFiles[0] != $base . $this->baseDir && $this->partial_tests === true) {
         $this->_includeFiles($allFiles);
     } else {
         if (is_array($this->partial_tests)) {
             foreach ($this->partial_tests as $test) {
                 //$this->log('Including partial testfile:'.$test);
                 $this->addTestFile($base . $this->baseDir . DS . $test . '.php');
             }
         } else {
             echo "No files in : " . $this->title . "\n";
         }
     }
 }
开发者ID:joeymetal,项目名称:v1,代码行数:29,代码来源:AkUnitTestSuite.php


示例19: up_1

    function up_1()
    {
        $new_code = '
    private function __call ($method, $args)
    {
        if(substr($method,0,4) == \'find\'){
            $finder = substr(AkInflector::underscore($method), 5);
            list($type, $columns) = explode(\'by_\', $finder);
            $callback = strstr($type,\'create\') ?  \'findOrCreateBy\' : (strstr($type,\'first\') || !strstr($type,\'all\') ? \'findFirstBy\' : \'findAllBy\');
            $columns = strstr($columns, \'_and_\') ? explode(\'_and_\', $columns) : array($columns);
            array_unshift($args, join(\' AND \', $columns));
            return Ak::call_user_func_array(array(&$this,$callback), $args);
        }

        $backtrace = debug_backtrace();
        trigger_error(\'Call to undefined method \'.__CLASS__.\'::\'.$method.\'() in <b>\'.$backtrace[1][\'file\'].\'</b> on line <b>\'.$backtrace[1][\'line\'].\'</b> reported \', E_USER_ERROR);
    }

';
        $original_class = Ak::file_get_contents(AK_APP_DIR.DS.'shared_model.php');
        if(strstr($original_class, '__call')){
            trigger_error('You seem to have a __call method on your shared model. This plugin can\'t be installed as it will conflict with your existing code.', E_USER_ERROR);
        }

        $modified_class = preg_replace('/ActiveRecord[ \n\t]*extends[ \n\t]*AkActiveRecord[ \n\t]*[ \n\t]*{/i', "ActiveRecord extends AkActiveRecord \n{\n\n$new_code", $original_class);

        Ak::file_put_contents(AK_APP_DIR.DS.'shared_model.php', $modified_class);
    }
开发者ID:joeymetal,项目名称:v1,代码行数:28,代码来源:dynamic_finder_installer.php


示例20: test_setup

 function test_setup()
 {
     $this->uninstallAndInstallMigration('AdminPlugin');
     Ak::import('extension');
     $this->Extension =& new Extension();
     $this->populateTables('extensions');
 }
开发者ID:joeymetal,项目名称:v1,代码行数:7,代码来源:extension.php



注:本文中的Ak类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP AkCharset类代码示例发布时间:2022-05-23
下一篇:
PHP AjaxResponseObject类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap