protected function _init()
 {
     foreach ($this::$_mixins as $class) {
         if (Vendors::class_exists($class)) {
             $this->__mixins[] = new $class($this);
         }
     }
 }
Example #2
0
 public static function initializable()
 {
     return Vendors::class_exists('\\mysqli');
 }
Example #3
0
<?php

use row\core\Vendors;
// Application (most importante!)
Vendors::add('app', function ($name, $class) {
    $path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
    return ROW_APP_PATH . DIRECTORY_SEPARATOR . $path . '.php';
});
Example #4
0
 public static function initializable()
 {
     return Vendors::class_exists('\\SQLiteDatabase');
 }
Example #5
0
<?php

use row\core\Vendors;
// Application (most importante!)
Vendors::add('app', function ($name, $class) {
    $path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
    return ROW_APP_PATH . DIRECTORY_SEPARATOR . $path . '.php';
});
/* Symfony package (why??) *
Vendors::add('symfony', function($vendor, $class) {
	$file = ROW_VENDORS_PATH.'/doctrine-orm/Doctrine/Symfony/'.str_replace('\\', '/', $class).'.php';
	return $file;
});

/* Doctrine ORM package (part of Symfony I'm sure) *
Vendors::add('doctrine', function($vendor, $class) {
	$file = ROW_VENDORS_PATH.'/doctrine-orm/Doctrine/'.str_replace('\\', '/', $class).'.php';
	return $file;
});
/**/
// Zend (testing underscore class based vendors)
Vendors::add('zend', function ($vendor, $class) {
    $file = ROW_VENDORS_PATH . '/ZendTEST/framework/library/Zend/' . str_replace('_', '/', $class) . '.php';
    return $file;
});
 protected function getControllerObject($class)
 {
     if (!is_int(strpos($class, '\\'))) {
         $class = $this->moduleClassTranslation($class);
     }
     if (Vendors::class_exists($class)) {
         $controller = new $class($this);
         return $controller;
     }
 }
Example #7
0
<?php

define('ROW_APP_PATH', dirname(__DIR__));
// The application root
define('ROW_APP_WEB', ROW_APP_PATH . '/web');
define('ROW_PATH', dirname(ROW_APP_PATH));
// Absolute root
define('ROW_VENDORS_PATH', ROW_PATH . '/vendors');
// Folders with all the vendor folders
define('ROW_VENDOR_ROW_PATH', ROW_VENDORS_PATH . '/row');
// The folder for the framework vendor Rudie On Wheels
require __DIR__ . '/env.php';
// core classes
require ROW_VENDOR_ROW_PATH . '/core/Object.php';
require ROW_VENDOR_ROW_PATH . '/core/Options.php';
require ROW_VENDOR_ROW_PATH . '/core/Vendors.php';
require ROW_VENDOR_ROW_PATH . '/core/APC.php';
use row\core\Vendors;
// init vendor class
Vendors::init(ROW_VENDORS_PATH);
//Vendors::$cache = false; // don't cache classes with APC
// include more vendors (or not)
require __DIR__ . '/vendors.php';
Example #8
0
 public function fetch($query, $mixed = null)
 {
     // default options
     $class = false;
     $justFirst = false;
     $params = array();
     // unravel options
     if (is_array($mixed)) {
         if (is_int(key($mixed))) {
             $params = $mixed;
         } else {
             $class = Options::one($mixed, 'class', false);
             $justFirst = $mixed->get('single', $mixed->get('first', false));
             $params = $mixed->get('params', array());
         }
     } else {
         if (is_bool($mixed)) {
             $justFirst = $mixed;
         } else {
             if (is_string($mixed)) {
                 $class = $mixed;
             }
         }
     }
     // build SQL
     if (is_array($query)) {
         $query = $this->buildSQL($query);
     }
     // apply params
     if ($params) {
         $query = $this->replaceholders($query, $params);
     }
     $result = $this->result($query);
     Vendors::class_exists($class) or $class = false;
     if ($justFirst) {
         if ($class) {
             return $result->nextObject($class, array(true));
         }
         return $result->nextAssocArray();
     }
     if ($class) {
         return $result->allObjects($class, array(true));
     }
     return $result->allAssocArrays();
 }
Example #9
0
 /**
  * 
  */
 public static function _byQuery($query, $justFirst = false, $params = array())
 {
     // don't require $justFirst, so params can be passed as 2nd argument (in $justFirst)
     if (is_array($justFirst)) {
         $_jf = $justFirst;
         // allow reverse arguments: justFirst in $params
         $justFirst = is_bool($params) ? $params : false;
         $params = $_jf;
     }
     $class = get_called_class();
     if (Vendors::class_exists($class . 'Record') && is_a($class . 'Record', get_called_class())) {
         $class = $class . 'Record';
     }
     return static::dbObject()->fetch($query, array('class' => $class, 'single' => $justFirst, 'params' => $params));
 }