- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
<?php
//////////....................................
static function Request($module="__global",$action='__global',$route=null){
if(!$route && !empty(self::$route)) $route=self::$route;
else $route=self::setRoute(APP_ModuleContext::getContext());
$action=strtolower($action);
$module=strtolower($module);
$ro=array();
if(!empty($route['allow'][$module])){
$ro=$route['allow'][$module];
$dis=!empty($route['disallow'][$module])?$route['disallow'][$module]:array();
if(!empty($dis) && $dis['__global']===true) return new throw APP_Exceptions_PluginBox("Плагины для модуля '$module' отключены");
if(empty($ro['__global'])) $ro['__global']=array();
if(empty($ro[$action])) $ro[$action]=array();
$ro=array_merge($ro['__global'],$ro[$action]);
if(!empty($ro)){
$ro=array_unique($ro);
if(!empty($dis)){
if(empty($dis['__global'])) $dis['__global']=array();
if(empty($dis[$action])) $dis[$action]=array();
$dis=array_merge($dis['__global'],$dis[$action]);
if(!empty($dis)){
$dis=array_unique($dis);
$ro=array_diff($ro,$dis);
}
}
if(!empty($ro)){
$res=array();
foreach($ro as $plugin){
$res[$plugin]=self::getContents($plugin);
}
return $res;
}else return new throw APP_Exceptions_PluginBox("Все плагины были отключены для '$module - $action'");
}else return new throw APP_Exceptions_PluginBox("Нет плагинов для запроса '$module - $action'");
}
return false;
}
/////////////..........................................
?>
Zho 07.02.2011 20:06 # 0
//route data file
return array(
"allow"=>array(
"__global"=>array(
"__global"=>array("plugin1","plugin2 "),
),
"index"=>array( // some module
"__global"=>array(),
"index"=>array(),
),
),
"disallow"=>array(
"index"=>array( // some module
"__global"=>array(), // true - disallow all
"index"=>array(),
),
),
);
?>
Lure Of Chaos 07.02.2011 21:06 # 0
Zho 07.02.2011 21:15 # 0
Lure Of Chaos 07.02.2011 21:16 # 0
Zho 07.02.2011 21:33 # 0
wvxvw 07.02.2011 21:27 # +1
Zho 07.02.2011 21:33 # 0
wvxvw 07.02.2011 21:41 # +3
Zho 07.02.2011 21:47 # 0
у php он как раз для создания экземпляров класса
в данном случае, мы бросаем исключение(тобишь объект) APP_Exceptions_PluginBox наследуемое от стандартного Exception
Zho 07.02.2011 21:49 # 0
спс за дебаг =)
koodeer 08.02.2011 00:04 # +3
Компилятор языка со строгой статической типизацией такого бы не пропустил.
Lure Of Chaos 08.02.2011 16:45 # 0
Zho 08.02.2011 19:03 # −2
<?php
$var=array("one"=>1,2,3);
$var=$var['one'];
$var++;
Зы. В с++ тоже есть динамическая типизация =)
Зыы. Вы путаете динамическую типизацию со строгой. В php есть строгая типизация.
Lure Of Chaos 08.02.2011 22:04 # −1
в каком месте?
istem 08.02.2011 23:08 # +1
В задумках.
guest 08.02.2011 23:10 # 0
В зад*.
Zho 08.02.2011 23:23 # 0
Lure Of Chaos 08.02.2011 23:24 # 0
в общем, как и все в мире пхп, все недоделано, а что сделано, то через жопу
Zho 08.02.2011 23:28 # 0
PHP дает вам анархию - попробуйте построить идеальное общество =)
И да, типизировать можно не только аргументы функций. Хотя такого рода просветление наступает уже через одно место..
И когда оно наступает, понимаешь что овчинка выделки не стоит =)
Lure Of Chaos 08.02.2011 23:32 # 0
вот политика Сана мне нравилась больше: почти весь код доступен, и каждый может слать баги, но исправлять мог только Сан. И это дало нам стройность кода и структурность стандартных библиотек )
Zho 08.02.2011 23:36 # −1
я вообще-то говорил про типизацию. Про стройность библиотек, есть статья "PHP Язык жрецов" или как-то так.
Исходные коды открыты, можете править функции.
А мне не в лом открыть доку если надо, заодно, вдруг чего там ещё увижу хорошего...
istem 08.02.2011 23:34 # +1
Анархия - как правило, увеличивает энтропию в энной степени.
Анархия - это путь к самкам и дубинам. И сегодня это заметно более чем никак.
Zho 08.02.2011 23:44 # 0
если хотите более точно, то - в переделе.
"PHP дает вам анархию - попробуйте построить идеальное общество"
istem 08.02.2011 23:50 # 0
Lure Of Chaos 08.02.2011 23:48 # 0
грамотно управляем, а не так, как обычно было и есть
Zho 08.02.2011 23:55 # 0
любое социальное образование, особенно такое как общество, выделяется аппаратом самоконтроля.
Отличие идеального общества в что "сверхсознание" обнаруживает себя в сознании каждого индивида. Таким образом анархия - порождает управление =)
не знаю как бы попроще выразиться.
короче, все зависит от того как ВЫ построите управление своим php.
istem 09.02.2011 00:20 # 0
и эта прошивка заливается по несколько раз, и с младенчества
Мистер Хэнки 07.02.2011 21:54 # +10