[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Магия PHP?
johniek_comp
Началось с того что в одной файле написал так, потом тоже самое в другом, но решил заглянуть как раньше написал и в итоге я написал по-разному...но все работает, решил соорудить класс что бы проверить и в итоге получил "55555"

Вопрос: Ему что вообще все равно? И как быть?

ИМХО ещё одно доказательство того что php для говнокодеров и для cms-соводил

Свернутый текст
<?php

interface
Basic {
function param_one();
function param_two();
function param_three();
function param_foo();
function param_five();
}

class Abricos implements Basic {


function __construct($param)
{
$this->param = $param;
$this->flag = true;
}

public function param_one()
{
if($this->flag = 'true')
{
echo $this->param;
return TRUE;
}
}

public function param_two()
{
if($this->flag = true)
{
echo $this->param;
return TRUE;
}
}

public function param_three()
{
if($this->flag == true)
{
echo $this->param;
return TRUE;
}
}

public function param_foo()
{
if($this->flag === true)
{
echo $this->param;
return true;
}
}

public function param_five()
{
if($this->flag == 'true')
{
echo $this->param;
return true;
}
}

}


$joh = new Abricos(5);
$joh->param_one();
$joh->param_two();
$joh->param_three();
$joh->param_foo();
$joh->param_five();

?>




Спустя 5 минут, 13 секунд (28.02.2012 - 16:47) inpost написал(а):
Ну у кривых программистов всё криво получается. Языка не знаешь, полез в дебри фреймворков, сам толком на cms не работал, а именно CMS, почему-то и поливаешь грязью. Сам ничего в жизни толкового не ПХП делать не пробовал, но при этом он плохой... за одни только рассуждения такие БОЛЬШОЙ И ЖИРНЫЙ МИНУС!

Спустя 2 минуты, 28 секунд (28.02.2012 - 16:49) TMake написал(а):
johniek_comp
а что тебя именно не устраивает?

Спустя 6 минут, 22 секунды (28.02.2012 - 16:56) inpost написал(а):
Написал именно тот код, который и выполнился успешно.
Но эти записи в методе:
if($this->flag = 'true') - WTF?
Ты не знаешь разницы между true\'true' , и =, == ???
НЕ ЗНАЕШЬ ТАКОЙ БАНАЛЬЩИНЫ, а уже полез в ООП с наследованием и интерфейсами... smile.gif

Спустя 3 минуты, 13 секунд (28.02.2012 - 16:59) Invis1ble написал(а):
Цитата
ИМХО ещё одно доказательство того что php для говнокодеров

плохому танцору яйцапрограммисту языки мешают

Спустя 2 минуты, 5 секунд (28.02.2012 - 17:01) inpost написал(а):
"ИМХО ещё одно доказательство того что php для говнокодеров"
Я подправлю твою цитату:
"ИМХО ещё одно доказательство того что ты тупо ничего не знаешь" smile.gif

Спустя 3 минуты, 43 секунды (28.02.2012 - 17:05) johniek_comp написал(а):
inpost
biggrin.gif
Ну ладно,
true false зарезервировавшие слова в языке(да какое там это тип данных boolean как), для них должна быть одна единственная форма записи, а я присвоил $this->flag = true; и как хочу так и верчу! вот что меня взбесило! а ещё ты, но я тебя не увижу никогда Бог с тобой, а с php мне ещё кое-как общаться.

Спустя 2 минуты, 40 секунд (28.02.2012 - 17:07) Rand написал(а):
1,2 - вернет истину всегда, когда переменной присваивается значение, которое в bool будет давать true (все строки кроме пустых и равных '0' - являются true)
3 - булев тип сравнивается с булевым типом, думаю, здесь всё понятно
4 - булев тип сравнивается с булевым типом, === означает, что никакое выражение не будет преобразовано в другой тип, здесь и так у правого выражения тип bool, поэтому запись равносильна ==.
5 - по скольку flag содержит переменную булевого типа, строка 'true' конвертируется в bool, все строки кроме пустых и равных '0' - являются true.

http://php.su/learnphp/datatypes/?compare_tables

Спустя 45 секунд (28.02.2012 - 17:08) Invis1ble написал(а):
вместо того, чтобы писать интерфейсы, пошел бы лучше основы языка почитал

Спустя 30 секунд (28.02.2012 - 17:09) Игорь_Vasinsky написал(а):
он же сказал:

Цитата
и как хочу так и верчу!


biggrin.gif biggrin.gif biggrin.gif


Спустя 1 минута, 32 секунды (28.02.2012 - 17:10) inpost написал(а):
ФУ, я написал для ИЕ: 'true' , и верстка поехала, неужели он не понял, что я быдло-верстальщик, и я имел ввиду true , ну другие же браузеры поняли... ИЕ ГОМНО.
ФУ, я написал для PHP 'true' - и он его понял как надо, хотя правильно имелось ввиду именно true, но мой быдло-код он перевёл на правильный вид и обработал как надо.... ПХП ГОМНО.

Жизнь двойных стандартов smile.gif

Спустя 13 минут, 34 секунды (28.02.2012 - 17:24) Michael написал(а):
Самое интересное, что обычный, "грамотный", вариант в его пяти попытках как раз и отсутствует laugh.gif

Спустя 1 минута, 56 секунд (28.02.2012 - 17:26) Invis1ble написал(а):
Michael
Цитата
$this->flag === true

чем этот вариант плох?

Спустя 4 минуты, 17 секунд (28.02.2012 - 17:30) Michael написал(а):
а зачем так писать? Чтобы подлиннее было может только...

Спустя 1 минута, 26 секунд (28.02.2012 - 17:31) Invis1ble написал(а):
чтобы при последующем рефакторинге и изменении возможных значений флага не словить ненароком баг
впрочем, если значения меняться не будут, то конечно такая запись избыточна

Спустя 3 часа, 15 минут, 26 секунд (28.02.2012 - 20:47) johniek_comp написал(а):
я люблю твороженные булочки...дошло, я же всех обидел в том числе и себя самого назвав php говном, типо вы тут все такие сякие...ПРОСТИТЕ!
user posted image

Спустя 43 минуты, 7 секунд (28.02.2012 - 21:30) twin написал(а):
Неортогональность языка не всегда минус. Если правильно уметь готовить, можно извлечь кучу профитов из этого. Ругают этот момент те, кто привык к строгой типизации. Проверка переменной на тип есть дааалеко не везде. Вот к примеру такой простенький момент:
    $arr = array(1 => 'первый', 2 => 'второй');
//$id = 1;
$id = 'all';

if(is_numeric($id))
echo $arr[$id];
else
echo implode('<br>', $arr);
в сишке повторить весьма проблематично. Так что вот.
А на обиженных воду возят. ;)

Спустя 2 минуты, 50 секунд (28.02.2012 - 21:33) Игорь_Vasinsky написал(а):
elseif($id == 'all')
echo implode('<br>', $arr);


мы же не совершенны..вдруг забудем что ввести...

Спустя 1 минута, 20 секунд (28.02.2012 - 21:34) m4a1fox написал(а):
О! наконец я понял кого ты мне так напоминаешь... я долго не мог понять... В киниги Р. Киплинга, кто читал - поймет... то животное кот. кричало:
- Акела промахнулся, Акела промахнулся.

А как красиво. Наследовав интерфейс... а почему не 2-3. Это же в php можно...
И еще, а почему еще и такой вариант не использовал?
if($this->flag)

А то без него коллекция не полно выглядит...

Спустя 41 секунда (28.02.2012 - 21:35) johniek_comp написал(а):
Цитата
кто привык к строгой типизации

вот меня и возмутило это, я в первом после написал "Ему что все равно?", в других языках такое не пройдет, вот и сорвался на пыхе родном! biggrin.gif

Спустя 27 минут (28.02.2012 - 22:02) inpost написал(а):
m4a1fox
Видимо потому, что проверка шла на true/false, то есть идея булеализации, и в случае, если бы свойство == 2, твоя проверка бы прошла, а вот == 'true' - нет.

Спустя 1 час, 42 минуты, 50 секунд (28.02.2012 - 23:45) m4a1fox написал(а):
inpost
Ясно....


_____________
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.