Вопрос вот в чем когда я вызываю функцию type_boot(CONFIG) она не реагирует, хотя должна выводить массив с данными. Или может я что то путаю помогите разобраться.
File: index.php
define('PATH_ROOT', dirname(__FILE__));
header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL);
require_once PATH_ROOT . '/includes/load.php';
$load = boot_type(CONFIG);
print_r($load);
File: load.php
defined('PATH_ROOT') or exit('Access Denied');
define('CONFIG', 0);
define('DATABASE', 1);
/**
* Собираем массив из констант
* @return array
**/
function arr_boot() {
return array(CONFIG, DATABASE);
}
/**
* Путь до конфигурационного файла.
* @return string
**/
function path_settings() {
$path = file_exists(dirname(__FILE__)) ? dirname(__FILE__) : '';
return "{$path}/settings/";
}
/**
* Подключение конфигурационного файла.
* Разбиение его на массив.
* @return array $conf
**/
function settings() {
$conf = array();
require_once file_exists(path_settings().'settings.php') ? path_settings().'settings.php' : exit('Critical error');
if (isset($url_db) && $url_db !== 'scheme://user:pass@localhost/database') {
$conf['DB'] = parse_url($url_db);
}
return $conf;
}
/**
* Функция подгрузки "библиотек"
**/
function boot_type($type) {
$arr = arr_boot();
foreach ($arr as $val) {
$proces = $val == $type ? $val : null;
switch($proces) {
case CONFIG:
settings();
break;
case DATABASE:
require_once PATH_ROOT . '/includes/class/class.mysql.php';
break;
default: unset($proces); break;
}
}
}
Спустя 6 минут, 55 секунд (4.01.2011 - 13:44) Michael написал(а):
case CONFIG:
return settings();
Спустя 4 минуты, 24 секунды (4.01.2011 - 13:48) jumper_dev написал(а):
Michael
При вызове
Выходит тот же массив
При вызове
boot_type(DATABASE)
Выходит тот же массив
Спустя 15 минут, 18 секунд (4.01.2011 - 14:04) Michael написал(а):
я вообще не понимаю что ты делаешь. Зачем этот промежуточный цикл? В любом случае сам у себя в коде проверяй по какому пути идет обработка - наставь echo, и чему данные равны по ходу дела.
Спустя 6 минут, 27 секунд (4.01.2011 - 14:10) Invis1ble написал(а):
jumper_dev
судя по всему, у тебя $proces будет равен null, поэтому будет выполняться default в switch )
судя по всему, у тебя $proces будет равен null, поэтому будет выполняться default в switch )
Спустя 23 минуты, 47 секунд (4.01.2011 - 14:34) jumper_dev написал(а):
Invis1ble
Ты прав, что то я там напутал...
Ты прав, что то я там напутал...
Спустя 37 минут, 40 секунд (4.01.2011 - 15:11) jumper_dev написал(а):
Изменил значение констант и все встало на свои места. =)
Массив стал таким
define('CONFIG', 1);
define('DATABASE', 2);
Массив стал таким
array('0' => '1', '1' => '2');
Спустя 15 минут, 43 секунды (4.01.2011 - 15:27) Invis1ble написал(а):
jumper_dev
имхо, у тебя там вобще логика конкретно хромает.... можно все гораздо проще и понятней реализовать
имхо, у тебя там вобще логика конкретно хромает.... можно все гораздо проще и понятней реализовать
Спустя 4 минуты, 4 секунды (4.01.2011 - 15:31) jumper_dev написал(а):
Очень интересно посмотреть. Есть пример?
Спустя 12 минут, 49 секунд (4.01.2011 - 15:44) Invis1ble написал(а):
jumper_dev
пример чего? Если скрипт load.php реализует подгрузку конфига, то я использую совсем другую реализацию... Может я конечно что-то недопонимаю (цимус какой-то), но по-моему load.php - это какой-то изврат, хотя чесно говоря я не особо вникал..
Скажи чесно, ты сам писал это?
пример чего? Если скрипт load.php реализует подгрузку конфига, то я использую совсем другую реализацию... Может я конечно что-то недопонимаю (цимус какой-то), но по-моему load.php - это какой-то изврат, хотя чесно говоря я не особо вникал..
Скажи чесно, ты сам писал это?
Спустя 13 минут, 44 секунды (4.01.2011 - 15:58) jumper_dev написал(а):
Конечно сам.
Load.php будет подгружать в зависимости что ты хочешь загрузить. (Имеется ввиду "библиотеки") Например "Класс Базы данных", "Контролер", "Класс шаблонизатора" : )))
Load.php будет подгружать в зависимости что ты хочешь загрузить. (Имеется ввиду "библиотеки") Например "Класс Базы данных", "Контролер", "Класс шаблонизатора" : )))
Спустя 19 минут, 2 секунды (4.01.2011 - 16:17) Invis1ble написал(а):
jumper_dev
А смысл всех этих танцев, если ты все равно передаешь в функцию загрузки аргумент (то, что хочешь загрузить) ??
Если интересует автоматическая подгрузка, то имхо тебе нужно почитать например про функцию spl_autoload_register()
А смысл всех этих танцев, если ты все равно передаешь в функцию загрузки аргумент (то, что хочешь загрузить) ??
Если интересует автоматическая подгрузка, то имхо тебе нужно почитать например про функцию spl_autoload_register()
Спустя 7 минут, 49 секунд (4.01.2011 - 16:25) jumper_dev написал(а):
Спасибо, почитаем.
Спустя 5 минут, 49 секунд (4.01.2011 - 16:30) Invis1ble написал(а):
jumper_dev
вот пример для тебя набросал:
index.php
Hello.php
вот пример для тебя набросал:
index.php
<?php
function autoload($classname)
{
include $classname . '.php';
}
spl_autoload_register('autoload');
Hello::test('Hello, World!');
Hello.php
<?php
class Hello
{
public static function test($string)
{
echo $string;
}
}
_____________
Как повысить рождаемость на планете? - Заставить Microsoft выпускать презервативы!
Разъяренный Админ не нервно моргает, а материт вас, используя двоичный код.