本文整理汇总了PHP中Doctrine::getPath方法的典型用法代码示例。如果您正苦于以下问题:PHP Doctrine::getPath方法的具体用法?PHP Doctrine::getPath怎么用?PHP Doctrine::getPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine
的用法示例。
在下文中一共展示了Doctrine::getPath方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: index
function index()
{
spl_autoload_register(array('Doctrine', 'autoload'));
$manager = Doctrine_Manager::getInstance();
$conn = Doctrine_Manager::connection('mysql://root:root@localhost/moqold', 'doctrine');
Doctrine::generateModelsFromDb('system/application/models', array('moqold'), array('generateTableClasses' => true));
echo Doctrine::getPath();
}
示例2: tables
public function tables()
{
$path = Doctrine::getPath();
$conn = Doctrine_Manager::connection();
$result = $conn->execute('SHOW TABLES;')->fetchAll();
$tables_found = null;
foreach ($result as $table) {
$tables_found .= $table[0] . "<br />";
}
$disp = "doctrine loaded from: {$path}";
$disp .= "<hr />parsing tables... tables found: ";
$disp .= "<blockquote>{$tables_found}</blockquote>";
echo $disp;
}
示例3: compile
/**
* method for making a single file of most used doctrine runtime components
* including the compiled file instead of multiple files (in worst
* cases dozens of files) can improve performance by an order of magnitude
*
* @throws Doctrine_Compiler_Exception if something went wrong during the compile operation
* @return void
*/
public static function compile($target = null)
{
$path = Doctrine::getPath();
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::LEAVES_ONLY);
foreach ($it as $file) {
$e = explode('.', $file->getFileName());
// we don't want to require versioning files
if (end($e) === 'php' && strpos($file->getFileName(), '.inc') === false) {
require_once $file->getPathName();
}
}
$classes = array_merge(get_declared_classes(), get_declared_interfaces());
$ret = array();
foreach ($classes as $class) {
$e = explode('_', $class);
if ($e[0] !== 'Doctrine') {
continue;
}
$refl = new ReflectionClass($class);
$file = $refl->getFileName();
print 'Adding ' . $file . PHP_EOL;
$lines = file($file);
$start = $refl->getStartLine() - 1;
$end = $refl->getEndLine();
$ret = array_merge($ret, array_slice($lines, $start, $end - $start));
}
if ($target == null) {
$target = $path . DIRECTORY_SEPARATOR . 'Doctrine.compiled.php';
}
// first write the 'compiled' data to a text file, so
// that we can use php_strip_whitespace (which only works on files)
$fp = @fopen($target, 'w');
if ($fp === false) {
throw new Doctrine_Compiler_Exception("Couldn't write compiled data. Failed to open {$target}");
}
fwrite($fp, "<?php " . implode('', $ret));
fclose($fp);
$stripped = php_strip_whitespace($target);
$fp = @fopen($target, 'w');
if ($fp === false) {
throw new Doctrine_Compiler_Exception("Couldn't write compiled data. Failed to open {$file}");
}
fwrite($fp, $stripped);
fclose($fp);
}
示例4: getValidators
/**
* getValidators
*
* Get available doctrine validators
*
* @return array $validators
*/
public static function getValidators()
{
$validators = array();
$dir = Doctrine::getPath() . DIRECTORY_SEPARATOR . 'Doctrine' . DIRECTORY_SEPARATOR . 'Validator';
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::LEAVES_ONLY);
foreach ($files as $file) {
$e = explode('.', $file->getFileName());
if (end($e) == 'php') {
$name = strtolower($e[0]);
$validators[$name] = $name;
}
}
return $validators;
}
示例5: loadTasks
/**
* loadTasks
*
* @param string $directory
* @return array $loadedTasks
*/
public function loadTasks($directory = null)
{
if ($directory === null) {
$directory = Doctrine::getPath() . DIRECTORY_SEPARATOR . 'Doctrine' . DIRECTORY_SEPARATOR . 'Task';
}
$parent = new ReflectionClass('Doctrine_Task');
$tasks = array();
foreach ((array) $directory as $dir) {
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::LEAVES_ONLY);
foreach ($it as $file) {
$e = explode('.', $file->getFileName());
if (end($e) === 'php' && strpos($file->getFileName(), '.inc') === false) {
$className = 'Doctrine_Task_' . $e[0];
if (!class_exists($className)) {
require_once $file->getPathName();
$class = new ReflectionClass($className);
if ($class->isSubClassOf($parent)) {
$tasks[$e[0]] = $e[0];
}
}
}
}
}
$this->_tasks = array_merge($this->_tasks, $tasks);
return $this->_tasks;
}
示例6: getClassNameFromFileName
/**
*
* Return the name of a class from its filename.
*
* This method simply removes the Doctrine Path and raplces _ with / and
* removes .php to get the classname for a file
*
* @param string $fileName The name of the file
* @return string The name of the class
*/
public function getClassNameFromFileName($fileName)
{
$path = Doctrine::getPath() . DIRECTORY_SEPARATOR;
$class = str_replace($path, "", $fileName);
$class = str_replace(DIRECTORY_SEPARATOR, "_", $class);
$class = substr($class, 0, -4);
return $class;
}
示例7: compile
/**
* method for making a single file of most used doctrine runtime components
* including the compiled file instead of multiple files (in worst
* cases dozens of files) can improve performance by an order of magnitude
*
* @throws Doctrine_Compiler_Exception if something went wrong during the compile operation
* @return $target Path the compiled file was written to
*/
public static function compile($target = null, $includedDrivers = array())
{
if (!is_array($includedDrivers)) {
$includedDrivers = array($includedDrivers);
}
$excludedDrivers = array();
// If we have an array of specified drivers then lets determine which drivers we should exclude
if (!empty($includedDrivers)) {
$drivers = array('db2', 'mssql', 'mysql', 'oracle', 'pgsql', 'sqlite');
$excludedDrivers = array_diff($drivers, $includedDrivers);
}
$path = Doctrine::getPath();
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::LEAVES_ONLY);
foreach ($it as $file) {
$e = explode('.', $file->getFileName());
//@todo what is a versioning file? do we have these anymore? None
//exists in my version of doctrine from svn.
// we don't want to require versioning files
if (end($e) === 'php' && strpos($file->getFileName(), '.inc') === false) {
require_once $file->getPathName();
}
}
$classes = array_merge(get_declared_classes(), get_declared_interfaces());
$ret = array();
foreach ($classes as $class) {
$e = explode('_', $class);
if ($e[0] !== 'Doctrine') {
continue;
}
// Exclude drivers
if (!empty($excludedDrivers)) {
foreach ($excludedDrivers as $excludedDriver) {
$excludedDriver = ucfirst($excludedDriver);
if (in_array($excludedDriver, $e)) {
continue 2;
}
}
}
$refl = new ReflectionClass($class);
$file = $refl->getFileName();
$lines = file($file);
$start = $refl->getStartLine() - 1;
$end = $refl->getEndLine();
$ret = array_merge($ret, array_slice($lines, $start, $end - $start));
}
if ($target == null) {
$target = $path . DIRECTORY_SEPARATOR . 'Doctrine.compiled.php';
}
// first write the 'compiled' data to a text file, so
// that we can use php_strip_whitespace (which only works on files)
$fp = @fopen($target, 'w');
if ($fp === false) {
throw new Doctrine_Compiler_Exception("Couldn't write compiled data. Failed to open {$target}");
}
fwrite($fp, "<?php " . implode('', $ret));
fclose($fp);
$stripped = php_strip_whitespace($target);
$fp = @fopen($target, 'w');
if ($fp === false) {
throw new Doctrine_Compiler_Exception("Couldn't write compiled data. Failed to open {$file}");
}
fwrite($fp, $stripped);
fclose($fp);
return $target;
}
示例8: getValidators
/**
* Get available doctrine validators
*
* @return array $validators
*/
public function getValidators()
{
if (!$this->_loadedValidatorsFromDisk) {
$this->_loadedValidatorsFromDisk = true;
$validators = array();
$dir = Doctrine::getPath() . DIRECTORY_SEPARATOR . 'Doctrine' . DIRECTORY_SEPARATOR . 'Validator';
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::LEAVES_ONLY);
foreach ($files as $file) {
$e = explode('.', $file->getFileName());
if (end($e) == 'php') {
$name = strtolower($e[0]);
$validators[] = $name;
}
}
$this->registerValidators($validators);
}
return $this->_validators;
}