Мужчина, вы имеете в виду яву, для которой чтобы написать hello world надо создать класс, метод, типизировать их и в конечном итоге импортировать библиотеку для вывода текста на экран, а обращение к методу длиннее, чем выводимый текст? Фантастический язык, ага. Я выбрал питон, а потом снова выбрал PHP. Строгая типизация совсем не радует моё сердце. Я понять не могу почему Код (Text): string = '28'; print string + 2; выкидывает исключение, а не преобразует переменную в число. P.S. Кстати, присматриваюсь к Boo - надстройке над C#. У меня какая-то сакральная любовь и дотнету. Нифига к нему не делал, но кажется что трава там зелёная круглый год, море и голые бабы пиво носят.
1) не нравятся нзвания переменных в доке: int substr_count ( string $haystack , string $needle ) а можно было б int substr_count(string $where , string $what) 2) не нравятся разные префиксы: часть str, str_, без префикса. То же и к массивам вроде. 3) в одной ф-ции строка, которую ищем на 1 месте, в другой на предпоследнем. Хотя может это я насочинял. ну пока ничего более.
Иголка в стоге сена -- это еще ничего. Меня конкретно бесит, что в соседних функциях местами их меняют (это и есть твой третий пункт)
Не ты первый. Разработчики тихо отфутболивают list()`ом. Поддерживаю. Годика с два назад написал пару штучек для вэба. Ничего так. Всё так... упорядоченно... и напряжно... Вообще после turbo pascal, c++, c#, Java, и даже ruby и vb - самый менее раздражающий язык
А ха ха ха =((((((( 6 часов сидел не мог понять почему дб симпле, не хочет обрабатывать прэйсхолдер ?a а выдаёт ошибку блин я 6 часов рыл эту <цензура> дб симпл!! вся куйня была из-за маленького недочётика, вообще в другом месте я в шоке, вообще случайно заметил где собака зарыта
PHP: <?php // Пишем в глобальный массив $GLOBALS['greeting'] = 'Hello, World<br /><br />'; $GLOBALS['eHandler'] = new Exception('Вот такие у нас пироги'); // В результате получаем полную хрень echo $greeting; // А это и того хуже echo $eHandler->GetMessage(); ?> Ужжжжжжжасно неприятная вещь.
Капитан Очевидность mode on мы записывали в массив, а в результате этого объявились переменные, которых мы не хотели создавать. Так-то.
kostyl я тоже. У меня в проекте последнем вообще кол-во глобальных переменных стремится к нулю. Пока это еще не ноль, но к нему и стремимся. А вот на работе не гнушаются конструкциями типа: PHP: <?php /*BEGIN_TEMP_EN_1_500*/ $GLOBALS["templates_EN"][1][2][500] = "content_google";$GLOBALS["temp_desc_EN"][1][500] = "Google maps embedded";/*END_TEMP_EN_1_500*/ ?> Kreker можно так же сказать, что этот массив обрабатывается функцией extract :wink:
У меня в проектах количество использования записи и чтения суперглобального массива равно нулю. Для классов, посколько они не могут читать декларированные переменные за пределами метода, использую ссылочную передачу необходимых переменных в конструктор, с последующим диблированием опять-таки ссылки в закрытые (private) свойства класса. Для хранения каких-либо данных использую статические структуры, которые доступны как внутри класса, так и за его пределами. Пример выше я написал всего лишь для того, чтобы показать, что именно мне не нравится. Кстати, мануальные register_globals с такой хренью можно замутить. Навалял пример на скорую руку: PHP: <?php /** * Мануальное включение register globals непосредственно из скрипта */ error_reporting(E_ALL); /** * Этот блок выполняет имитацию register_globals = On */ foreach($_REQUEST as $key => $value) { $GLOBALS[$key] = $value; } // Смотрим, что получилось if(isset($do)) { echo 'Name: '.$name.'<br />'; echo 'Age: '.$age; } ?> HTML: <form action="?do=send" method="post"> <input type="text" name="name" value="Apple"> Username <br /> <input type="text" name="age" value="Unknown"> Age <br /> <input type="submit" value="Send"> </form> Вот так вот ...
PHP: <?php class Detest { public function __construct() { new Detest(); } }; $detest = new Detest(); ?>
PHP: <? // плохо, что нельзя делать так: $row['date'] = (new DateTime($row['date']))->format('d.m.Y H:i'); // или так $row['date'] = new DateTime($row['date'])->format('d.m.Y H:i');
Для таких случаев я делаю обёртки со статическим методом create. PHP: <?php $row['date'] = MyDateTime::create($row['date'])->format('d.m.Y H:i'); А вообще в данном случае можно так написать: PHP: <?php $row['date'] = date_create($row['date'])->format('d.m.Y H:i');
да в курсе я про статические обертки, сам их использую для цепочек вызовов. Вот валидатор к примеру: PHP: <? FV_Advanced::create() ->setSettings($settings) ->setRules($rules) ->setMessages($messages) ->validate($_POST, $values, $this->errors); Если уж на то пошло, то date(strtotime()) еще не отменяли