Beispiel #1
0
require_once 'XhtmlMenu.php';
require_once 'XhtmlForm.php';
require_once 'FileList.php';
require_once 'FileInfo.php';
//project includes:
require_once 'functions_process.php';
require_once 'TaskQueue.php';
//XXX move to core_dev when matured
$page = XmlDocumentHandler::getInstance();
$page->designHead(dirname(__FILE__) . '/design_head.php');
$page->designFoot(dirname(__FILE__) . '/design_foot.php');
$page->setUrl('http://processtest.x/');
$page->setCoreDevInclude($coredev_inc);
///XXX peka på "/path/to/core_dev/core/" katalogen, hör egentligen inte till page handlern men den hör inte till något bra objekt... separat core-dev handler????
$page->setApplicationPath();
$db = SqlFactory::factory('mysql', true);
// enable profiler
SqlHandler::addInstance($db);
//registers the created database connection as the one to use by SqlHandler
//$db->setConfig( array('host' => 'process1.x:44000', 'database' => 'dbProcess', 'username' => 'ml', 'password' => 'xx') );
$db->setConfig(array('host' => 'localhost:44308', 'database' => 'dbProcess2', 'username' => 'root', 'password' => 'xx'));
$page->enableProfiler();
$locale = LocaleHandler::getInstance();
$locale->set('swe');
$session = SessionHandler::getInstance();
$session->setName('savakID');
$session->setTimeout(60 * 60 * 24 * 2);
//keep logged in for 2 days!
$session->setEncryptKey('sdcu7cw897cwhwihwiuh#zaixx7wsxh3hdzsddFDF4ex1g');
$session->allowLogins(true);
$session->allowRegistrations(false);
/*
 * 利用__call和反射,实现一个简单的工厂
 */
class Mysql
{
    function connect($db_config)
    {
        echo "Mysql Connect:" . json_encode($db_config) . "\n";
    }
}
class SqlFactory
{
    private $target;
    function __construct($tar)
    {
        $this->target = new $tar();
    }
    function __call($name, $args)
    {
        $ref = new ReflectionClass($this->target);
        if ($method = $ref->getMethod($name)) {
            echo "Before Call\n";
            $method->invoke($this->target, $args);
            echo "After Call\n";
        }
    }
}
$db_config = array('host' => '127.0.0.1', 'port' => '3306');
$sql = new SqlFactory('Mysql');
$sql->connect($db_config);
Beispiel #3
0
<?php

/**
 * Created by PhpStorm.
 * User: bamdad
 * Date: 2/3/2016
 * Time: 9:02 PM
 */
include_once './autoload.php';
$sqlCleaner = new SqlFactory('task');
var_dump($sqlCleaner->getInsertQuery(array('id' => 1, 'name' => 'mytask', 'description' => 'no description', 'creationDate' => '2016-04-11 20:25:34', 'dueDate' => '2016-04-11 20:25:34', 'priority' => 1, 'type' => 3, 'stat' => 'yes')));
var_dump($sqlCleaner->getUpdateQuery(array('id' => 1, 'name' => 'mytask', 'description' => 'no description', 'creationDate' => '2016-04-11 20:25:34', 'dueDate' => '2016-04-11 20:25:34', 'priority' => 1, 'type' => 3, 'stat' => 'yes')));