soines
Новичок
ИМХО в данной ситуации это полное извращение.Автор оригинала: Lightning
Можно использовать замыкания.
ИМХО в данной ситуации это полное извращение.Автор оригинала: Lightning
Можно использовать замыкания.
А разве у кого-то были проблемы с запуском 5.3 в продакшене?ну я в курсе, кто нить в продакшене ей(версией 5.3) пользуется? уже? или это флуд?
Таким работать не будет из-за $this. Но мысль правильнаявидимо вот таким извратом?
<?php
<?php
Interface Speaker {
public function sayHello();
public function sayOops();
}
class First implements Speaker
{
public function sayHello()
{
echo 'Hello' . PHP_EOL;
}
public function sayOops()
{
echo 'Oops' . PHP_EOL;
}
}
class Second implements Speaker
{
public function sayHello()
{
echo 'Bye-bye' . PHP_EOL;
}
public function sayOops()
{
echo 'Wanna' . PHP_EOL;
}
}
class My
{
private $func = null;
public function __construct(Speaker $speaker)
{
$closure = function($obj)
{
return function ($param) use ($obj)
{
$obj->$param();
};
};
$this->func = $closure($speaker);
}
public function getClosure()
{
return $this->func;
}
}
$a = new My(new First);
$b = new My(new Second);
$closure1 = $a->getClosure();
$closure2 = $b->getClosure();
$closure1('sayHello');
$closure2('sayOops');
вообще то я проверяю код который "постю"))) можете сами проверить все работаетТаким работать не будет из-за $this. Но мысль правильная
Пардон, был невнимателенвообще то я проверяю код который "постю"))) можете сами проверить все работает
даАвтор оригинала: craz
ну я в курсе, кто нить в продакшене ей(версией 5.3) пользуется? уже?
любой vps. они сейчас стоят столько, что вообще пропадает смысл в шареде.да ну нет, просто не видел боевого сервака-хостинга в инете пока на борту чтоб стояла 5.3
спасибо за инфу будем знатьАвтор оригинала: fixxxer
да
любой vps. они сейчас стоят столько, что вообще пропадает смысл в шареде.
тредстартеру советую поразмышлять над вопросом, зачем нужны приватные методы.
if(CONDITION_1){
if(CONDITION_2){
if(CONDITION_3){
//...
}
else DoSomething();
}
else if(CONDITION_4){
if(CONDITION_5){
//...
}
else DoSomething();
}
else DoSomething();
}
else DoSomething();
if(CONDITION_1 && ((CONDITION_2 && CONDITION_3) || (!CONDITION_2 && CONDITION_4 && CONDITION_5))){
if(CONDITION_2 && CONDITION_3){
//...
}
else{
//...
}
}
else DoSomething();
задумываться не над этим по-моему скромному мнению, а над вот этой кашейНа твоем месте я бы задумался
Говновопрос:if(CONDITION_1){
if(CONDITION_2){
if(CONDITION_3){
//...
}
else DoSomething();
}
else if(CONDITION_4){
if(CONDITION_5){
//...
}
else DoSomething();
}
else DoSomething();
}
else DoSomething();
$done = false;
if( CONDITION_1 ) {
if( CONDITION_2 ) {
if( CONDITION_3 ) {
//...
$done = true;
}
}
else if( CONDITION_4 && CONDITION_5 ){
//...
$done = true;
}
}
if( !$done ) {
//Do something
}
я это и имел ввиду)Говновопрос:
Exceptions?Автор оригинала: vk
PHP:if(CONDITION_1){ if(CONDITION_2){ if(CONDITION_3){ //... } else DoSomething(); } else if(CONDITION_4){ if(CONDITION_5){ //... } else DoSomething(); } else DoSomething(); } else DoSomething();
Аргументы?метод надо выделять в подобных случаях
или gotoExceptions?