当前位置: 首页>>代码示例>>PHP>>正文


PHP sfSimpleAutoload类代码示例

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


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

示例1: sfDoctrineGuardLoginHistoryPlugin_autoload_again

function sfDoctrineGuardLoginHistoryPlugin_autoload_again($class)
{
    $autoload = sfSimpleAutoload::getInstance();
    $autoload->addDirectory(dirname(__FILE__) . '/../fixtures/project/lib/');
    $autoload->reload();
    return $autoload->autoload($class);
}
开发者ID:jmiridis,项目名称:atcsf1,代码行数:7,代码来源:unit.php

示例2: execute

    protected function execute($arguments = array(), $options = array())
    {
        $autoloader = sfSimpleAutoload::getInstance();
        $autoloader->addDirectory(sfConfig::get('sf_plugins_dir') . '/sfPropelMigrationsLightPlugin/lib');

        $configuration = ProjectConfiguration::getApplicationConfiguration($arguments['application'],
                        $options['env'], true);

        $databaseManager = new sfDatabaseManager($configuration);

        $migrator = new sfMigrator;

        if (isset($arguments['schema-version']) && ctype_digit($arguments['schema-version'])) {
            $max = $arguments['schema-version'];
        } else {
            $max = $migrator->getMaxVersion();
        }

        $migrations = $migrator->getMigrationsToRunUpTo($max);

        foreach ($migrations as $migration) {
            echo "Marking as Migrated: $migration\n";
            $migrator->markMigration($migration);
        }
    }
开发者ID:nationalfield,项目名称:nfPropelMigrationsLightPlugin,代码行数:25,代码来源:sfPropelMarkAsMigratedTask.class.php

示例3: generate

 /**
  * Generates classes and templates in cache.
  * Usable parameters are
  * - decorated_class required Defines the class to be decorated
  * - generated_class required The name of the generated decorator class
  * - file_format optional format of the filename of the file, default %s.class.php
  * - path optional location of the generated decorator to be saved, default \cache\decorator
  *
  * @param array The parameters
  *
  * @return string The data to put in configuration cache
  */
 public function generate($params = array())
 {
     if (!isset($params['decorated_class'], $params['generated_class'])) {
         throw new InvalidArgumentException('To generate a decorator the \'decorated_class\' and \'generated_class\' parameters are required');
     }
     $this->decoratedClass = $params['decorated_class'];
     if (!class_exists($this->decoratedClass)) {
         throw new RuntimeException('Cannot create decorator for non existing class \'' . $this->decoratedClass . '\'');
     }
     $this->generatedClass = $params['generated_class'];
     if (class_exists($this->generatedClass)) {
         throw new RuntimeException('Cannot redeclare decorator as the class already exists \'' . $this->generatedClass . '\'');
     }
     $path = isset($params['path']) ? $params['path'] : sfConfig::get('sf_cache_dir') . '/decorator';
     if (!is_dir($path)) {
         mkdir($path, 0777, true);
     }
     $fileFormat = isset($params['file_format']) ? $params['file_format'] : '%s.class.php';
     file_put_contents($path . '/' . sprintf($fileFormat, $this->generatedClass), $this->evalTemplate('sfDecoratorTemplate.php'));
     $conf = $this->getGeneratorManager()->getConfiguration();
     if ($conf instanceof sfApplicationConfiguration && !$conf->isDebug()) {
         //register the generated class in the autoloader
         sfSimpleAutoload::getInstance()->setClassPath($this->generatedClass, $path . '/' . sprintf($fileFormat, $this->generatedClass));
     }
     return "require_once('" . $path . '/' . sprintf($fileFormat, $this->generatedClass) . "');";
 }
开发者ID:redotheoffice,项目名称:sfDecoratorPlugin,代码行数:38,代码来源:sfDecoratorGenerator.class.php

示例4: getInstance

 /**
  * Retrieves the singleton instance of this class.
  *
  * @param  string $cacheFile  The file path to save the cache
  *
  * @return sfSimpleAutoload   A sfSimpleAutoload implementation instance.
  */
 public static function getInstance($cacheFile = null)
 {
     if (!isset(self::$instance)) {
         self::$instance = new sfSimpleAutoload($cacheFile);
     }
     return self::$instance;
 }
开发者ID:WIZARDISHUNGRY,项目名称:symfony,代码行数:14,代码来源:sfSimpleAutoload.class.php

示例5: doRun

 /**
  * @see sfTask
  */
 protected function doRun(sfCommandManager $commandManager, $options)
 {
     $this->process($commandManager, $options);
     $this->checkProjectExists();
     $application = $commandManager->getArgumentSet()->hasArgument('application') ? $commandManager->getArgumentValue('application') : null;
     $env = $commandManager->getOptionSet()->hasOption('env') ? $commandManager->getOptionValue('env') : 'test';
     if (!is_null($application)) {
         $this->checkAppExists($application);
         require_once sfConfig::get('sf_config_dir') . '/ProjectConfiguration.class.php';
         $isDebug = $commandManager->getOptionSet()->hasOption('debug') ? $commandManager->getOptionValue('debug') : true;
         $this->configuration = ProjectConfiguration::getApplicationConfiguration($application, $env, $isDebug, null, $this->dispatcher);
     } else {
         if (file_exists(sfConfig::get('sf_config_dir') . '/ProjectConfiguration.class.php')) {
             require_once sfConfig::get('sf_config_dir') . '/ProjectConfiguration.class.php';
             $this->configuration = new ProjectConfiguration(null, $this->dispatcher);
         } else {
             $this->configuration = new sfProjectConfiguration(getcwd(), $this->dispatcher);
         }
     }
     $autoloader = sfSimpleAutoload::getInstance();
     foreach ($this->configuration->getModelDirs() as $dir) {
         $autoloader->addDirectory($dir);
     }
     if (!is_null($this->commandApplication) && !$this->commandApplication->withTrace()) {
         sfConfig::set('sf_logging_enabled', false);
     }
     return $this->execute($commandManager->getArgumentValues(), $commandManager->getOptionValues());
 }
开发者ID:ajith24,项目名称:ajithworld,代码行数:31,代码来源:sfBaseTask.class.php

示例6: autoload

 /**
  * Autoloads symfony
  * Note: This is not compatible with ->bootstrap()
  * Code adopted from command/sfSymfonyCommandApplication.class.php
  */
 public function autoload()
 {
     if ($this->autoload) {
         return;
     }
     $this->autoload = 'simple';
     require_once $this->sf_lib_dir . '/util/sfCore.class.php';
     require_once $this->sf_lib_dir . '/config/sfConfig.class.php';
     require_once $this->sf_lib_dir . '/util/sfSimpleAutoload.class.php';
     require_once $this->sf_lib_dir . '/util/sfToolkit.class.php';
     require_once $this->sf_lib_dir . '/util/sfFinder.class.php';
     sfConfig::add(array('sf_symfony_lib_dir' => $this->sf_lib_dir, 'sf_symfony_data_dir' => $this->sf_lib_dir));
     // directory layout
     sfCore::initDirectoryLayout($this->sf_lib_dir);
     // include path
     set_include_path(sfConfig::get('sf_lib_dir') . PATH_SEPARATOR . sfConfig::get('sf_app_lib_dir') . PATH_SEPARATOR . sfConfig::get('sf_model_dir') . PATH_SEPARATOR . get_include_path());
     $cache = sfToolkit::getTmpDir() . DIRECTORY_SEPARATOR . sprintf('limeade_autoload_%s.data', md5(__FILE__));
     $autoloader = sfSimpleAutoload::getInstance($cache);
     $autoloader->register();
     $finder = sfFinder::type('file')->ignore_version_control()->prune('test')->prune('vendor')->name('*.php');
     $autoloader->addFiles($finder->in(sfConfig::get('sf_symfony_lib_dir')));
     $autoloader->addFiles($finder->in($this->project_root));
     $autoloader->addDirectory(sfConfig::get('sf_root_dir') . '/plugins');
     return $this;
 }
开发者ID:rande,项目名称:sfSolrPlugin,代码行数:30,代码来源:limeade_sf.php

示例7: execute

 /**
  * @see sfTask
  */
 protected function execute($arguments = array(), $options = array())
 {
     $this->schemaToXML(self::DO_NOT_CHECK_SCHEMA, 'generated-');
     $this->copyXmlSchemaFromPlugins('generated-');
     $this->callPhing('om', self::CHECK_SCHEMA);
     $this->cleanup();
     $this->logSection('autoload', 'reloading autoloading');
     sfSimpleAutoload::getInstance()->reload();
 }
开发者ID:ajith24,项目名称:ajithworld,代码行数:12,代码来源:sfPropelBuildModelTask.class.php

示例8: initialize

 public function initialize(sfEventDispatcher $dispatcher, sfFormatter $formatter)
 {
     parent::initialize($dispatcher, $formatter);
     if (!self::$done) {
         $libDir = dirname(__FILE__) . '/..';
         $autoloader = sfSimpleAutoload::getInstance();
         $autoloader->addDirectory($libDir);
         $autoloader->register();
         self::$done = true;
     }
 }
开发者ID:silky,项目名称:littlesis,代码行数:11,代码来源:sfDoctrineBaseTask.class.php

示例9: boot

 public function boot($app = 'admin', $env = 'test', $debug = true)
 {
     $this->bootFast($app, $env, $debug);
     // autoloader
     $autoload = sfSimpleAutoload::getInstance(sfConfig::get('sf_cache_dir') . '/project_autoload.cache');
     $autoload->loadConfiguration(sfFinder::type('file')->name('autoload.yml')->in(array(sfConfig::get('sf_symfony_lib_dir') . '/config/config', sfConfig::get('sf_config_dir'))));
     $autoload->register();
     $this->initialize();
     dmDb::table('DmPage')->checkBasicPages();
     return $this;
 }
开发者ID:theolymp,项目名称:diem,代码行数:11,代码来源:dmUnitTestHelper.php

示例10: execute

 protected function execute($arguments = array(), $options = array())
 {
     $databaseManager = new sfDatabaseManager($this->configuration);
     $tmpdir = sfConfig::get('sf_cache_dir') . '/models_tmp';
     $ymlTmp = $tmpdir . '/yaml';
     $modelTmp = $tmpdir . '/model';
     $this->getFileSystem()->mkdirs($ymlTmp);
     $this->getFileSystem()->mkdirs($modelTmp);
     $migrationsPath = sfConfig::get('sf_data_dir') . '/migrations/generated';
     $config = $this->getCliConfig();
     $manager = Doctrine_Manager::getInstance();
     $oldAttr = $manager->getAttribute(Doctrine::ATTR_MODEL_LOADING);
     $manager->setAttribute(Doctrine::ATTR_MODEL_LOADING, Doctrine::MODEL_LOADING_AGGRESSIVE);
     sfSimpleAutoload::unregister();
     Doctrine::generateYamlFromDb($ymlTmp . '/from.yml', array(), array('generateBaseClasses' => false));
     sfSimpleAutoload::register();
     $manager->setAttribute(Doctrine::ATTR_MODEL_LOADING, $oldAttr);
     $models = sfFinder::type('file')->name('*.php')->in($config['models_path']);
     foreach ($models as $model) {
         $dirname = basename(dirname($model));
         $filename = basename($model);
         if ('base' !== $dirname) {
             continue;
         }
         $normalModelName = str_replace('Base', '', basename($model, '.class.php'));
         $normalModelRefClass = new ReflectionClass($normalModelName);
         if ($normalModelRefClass && $normalModelRefClass->isAbstract()) {
             continue;
         }
         $content = file_get_contents($model);
         $content = str_replace('abstract class Base', 'class ToPrfx', $content);
         $content = str_replace('extends opDoctrineRecord', 'extends Doctrine_Record', $content);
         $matches = array();
         if (preg_match('/\\$this->setTableName\\(\'([^\']+)\'\\);/', $content, $matches)) {
             $tableName = $matches[1];
             $content = preg_replace('/class [a-zA-Z0-9_]+/', 'class ToPrfx' . Doctrine_Inflector::classify($tableName), $content);
             file_put_contents($modelTmp . '/ToPrfx' . Doctrine_Inflector::classify($tableName) . '.class.php', $content);
         } else {
             file_put_contents($modelTmp . '/' . str_replace('Base', 'ToPrfx', $filename), $content);
         }
     }
     $migration = new Doctrine_Migration($migrationsPath);
     $diff = new opMigrationDiff($ymlTmp . '/from.yml', $modelTmp, $migration);
     $changes = $diff->generateMigrationClasses();
     $this->getFileSystem()->remove($ymlTmp);
     $this->getFileSystem()->remove($modelTmp);
     $numChanges = count($changes, true) - count($changes);
     if (!$numChanges) {
         throw new Doctrine_Task_Exception('Could not generate migration classes from difference');
     } else {
         $this->dispatcher->notify(new sfEvent($this, 'command.log', array($this->formatter->formatSection('doctrine', 'Generated migration classes successfully from difference'))));
     }
 }
开发者ID:Kazuhiro-Murota,项目名称:OpenPNE3,代码行数:53,代码来源:openpneGenerateMigrationsTask.class.php

示例11: createConfiguration

 protected function createConfiguration($application, $env)
 {
     $configuration = parent::createConfiguration($application, $env);
     $autoloader = sfSimpleAutoload::getInstance();
     $config = new sfAutoloadConfigHandler();
     $mapping = $config->evaluate($configuration->getConfigPaths('config/autoload.yml'));
     foreach ($mapping as $class => $file) {
         $autoloader->setClassPath($class, $file);
     }
     $autoloader->register();
     return $configuration;
 }
开发者ID:JimmyVB,项目名称:Symfony-v1.2,代码行数:12,代码来源:sfDoctrineBaseTask.class.php

示例12: execute

 protected function execute($arguments = array(), $options = array())
 {
     $autoloader = sfSimpleAutoload::getInstance();
     $autoloader->addDirectory(sfConfig::get('sf_plugins_dir') . '/sfPropelMigrationsLightPlugin/lib');
     $migrator = new sfMigrator();
     if (!is_dir($migrator->getMigrationsDir())) {
         $this->getFilesystem()->mkDirs($migrator->getMigrationsDir());
     }
     $this->logSection('migrations', 'generating new migration stub');
     $filename = $migrator->generateMigration($arguments['name']);
     $this->logSection('file+', $filename);
 }
开发者ID:jcoby,项目名称:sfPropelMigrationsPlugin,代码行数:12,代码来源:sfPropelInitMigrationTask.class.php

示例13: execute

 protected function execute($arguments = array(), $options = array())
 {
     $autoload = sfSimpleAutoload::getInstance();
     $autoload->reload();
     $autoload->saveCache();
     $items = array();
     if (file_exists(sfConfig::get('sf_upload_dir'))) {
         $items[] = sfConfig::get('sf_upload_dir');
     }
     $items[] = sfConfig::get('sf_cache_dir');
     $items[] = sfConfig::get('sf_web_dir') . '/cache';
     $items[] = sfConfig::get('sf_config_dir');
     $items[] = sfConfig::get('sf_data_dir');
     $items[] = sfConfig::get('sf_log_dir');
     $items[] = sfConfig::get('sf_root_dir') . DIRECTORY_SEPARATOR . 'symfony';
     // add the application
     $apps = glob(sfConfig::get('sf_apps_dir') . '/*/config');
     foreach ($apps as $app) {
         $items[] = $app;
     }
     $appUsers = glob(sfConfig::get('sf_apps_dir') . '/*/lib/myUser.class.php');
     foreach ($appUsers as $appUser) {
         $items[] = $appUser;
     }
     $dirFinder = sfFinder::type('dir');
     $fileFinder = sfFinder::type('file');
     foreach ($items as $item) {
         if ($this->isUnix()) {
             try {
                 if (is_dir($item)) {
                     $this->getFilesystem()->execute('chmod -R 0777 ' . $item);
                 } else {
                     $this->getFilesystem()->execute('chmod 0777 ' . $item);
                 }
             } catch (RuntimeException $e) {
                 $this->failed[] = $item;
             }
         } else {
             @$this->getFilesystem()->chmod($item, 0777);
             if (is_file($item)) {
                 continue;
             }
             @$this->getFilesystem()->chmod($dirFinder->in($items), 0777);
             @$this->getFilesystem()->chmod($fileFinder->in($items), 0666);
         }
     }
     // note those files that failed
     if (count($this->failed)) {
         $this->logBlock(array_merge(array('Permissions on the following file(s) or dir(s) could not be fixed:', ''), array_map(create_function('$f', 'return \' - \'.sfDebug::shortenFilePath($f);'), $this->failed)), 'ERROR_LARGE');
     }
 }
开发者ID:sympal,项目名称:sympal,代码行数:51,代码来源:sfSympalFixPermsTask.class.php

示例14: register

 /**
  * Register sfSimpleAutoload in spl autoloader.
  *
  * @return void
  */
 public static function register()
 {
     if (self::$registered) {
         return;
     }
     ini_set('unserialize_callback_func', 'spl_autoload_call');
     if (false === spl_autoload_register(array(self::getInstance(), 'autoload'))) {
         throw new sfException(sprintf('Unable to register %s::autoload as an autoloading method.', get_class(self::getInstance())));
     }
     if (self::getInstance()->cacheFile) {
         register_shutdown_function(array(self::getInstance(), 'saveCache'));
     }
     self::$registered = true;
 }
开发者ID:JimmyVB,项目名称:Symfony-v1.2,代码行数:19,代码来源:sfSimpleAutoload.class.php

示例15: execute

 protected function execute($arguments = array(), $options = array())
 {
     $autoloader = sfSimpleAutoload::getInstance();
     $autoloader->addDirectory(sfConfig::get('sf_plugins_dir') . '/sfPropelMigrationsLightPlugin/lib');
     $configuration = ProjectConfiguration::getApplicationConfiguration($arguments['application'], $options['env'], true);
     $databaseManager = new sfDatabaseManager($configuration);
     $migrator = new sfMigrator();
     if (isset($arguments['schema-version']) && ctype_digit($arguments['schema-version'])) {
         $runMigrationsCount = $migrator->migrate((int) $arguments['schema-version']);
     } else {
         $runMigrationsCount = $migrator->migrate();
     }
     $currentVersion = $migrator->getCurrentVersion();
     $this->logSection('migrations', 'migrated ' . $runMigrationsCount . ' step(s)');
     $this->logSection('migrations', 'current database version: ' . $currentVersion);
 }
开发者ID:jcoby,项目名称:sfPropelMigrationsPlugin,代码行数:16,代码来源:sfPropelMigrateTask.class.php


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