All streams
Search
Write a publication
Pull to refresh
16
0
Илья Ерохин @AirWorker

Пользователь

Send message
ЗАЧЕМ ВЫ ИМ РАССКАЗАЛИ!!!

:)
Там же все совсем другое?
Да, типа ENUM в PHP очень не хватает.

На практике можно использовать например такое решение:
1) Группировка констант в один класс
2) Switch-блок в принимающих методах (он и без того очень часто используется в методах подобного типа) с исключением в блоке default (неизвестный тип)

Если же хочется полноценного контроля типа, то первое, что приходит на ум (но все равно все это костыли):


<?php

abstract class Color 
{
   protected $value;
   public function getValue()
   { 
       return $this->value;
   }
}

final class Color_Red extends Color
{
    protected $value = 'f00';
}

.....
....function setColor(Color $color)
То есть возможность строгой типизации — это либо внедрение этапа компиляции (на котором компилятор сразу должен знать все про все модули), либо хранение в памяти типа данных и его проверка в рантайме (при каждом чихе) — то есть в большинстве случаев неприемлемый оверхед.
Беру бред назад, хотя если бы считал это бредом, не писал бы комментарий, думал что это очевидно…

>> Более того, кто мешает сделать перед продакшном что-то типа:
preg_replace( '/[\(,]\s+(string|integer|float|resource)/i', '', $file ); по всем файлам? Ну это сильно зависит от модели обновления кода на сервере, да и весомая часть полезности теряется. Более того, без встроенной в язык типизации переменных и возвращаемых значений вряд ли можно надеяться на достаточную формализацию кода. Еще можно залезть в исходники PHP и пропатчить все там, но это будет совсем другой язык. Но все равно есть ограничение, которое обойти не удастся. Как правило, строгая типизация требует отдельного процесса - компиляции. В динамических же языках типа PHP все происходит в рантайме. Например, в C++ в рантайме нет типов как таковых - энное количество байт в памяти может быть чем угодно - целым, float, строкой, объектом какого-то типа, пользовательским псевдотипом... За типами следит компилятор, которого в динамических языках нет (как такового). Так что приемлемой "красивости" все равно достичь не удастся.
Отлично.
Подождем, пока ФППП пообещает квартиру в центре москвы :)
Бред. Или принимайте язык таким, какой он есть, или используйте другой.

Я сам сторонник максимальной типизации, но не вижу здесь ничего полезного.

В маленьких проектах это бесполезно, а в больших получим неприемлемый оверхед на какую-то сомнительную фичу.

Это если не считать переподготовки специалистов — нельзя вот так сразу начать фигачить строго типизированный код, здесь образ мышления менять надо…
Власти всего лишь отказались от явного маразма, а посмотрите, сколько радости :))
Web 2.0:
Текст с картинки (нам нужно знать что вы не робот): zx2ch3 _____________

Web 3.0:
Текст с картинки (нам нужно знать что вы не робот): zx2ch3 _____________
Текст с картинки (нам нужно знать что вы не индус): йЦгщУф _____________

))
Сделали, значит. Вы по-моему чуть ли не год назад в своем блоге эту штуку анонсировали…

В общем, успехов.
Отличная новость. Давно ждали…
А как насчет Ajax и кучи JS-кода на клиенте?
Неужели кто-то еще поддерживает IE < 6?
Да, точно, теперь только новые.

А насчет количества комментов в топиках?
-n 99999999999999999999999 ;)
Не могли бы вы написать мини-хауту по эффективному ддосу Хабра? :)
1 А вы с какой целью интересуетесь ;)
При количестве комментариев больше 200 при добавлении комментария начинаются появляться тормоза.

Слабо сделать асинхронную отдачу только тех комментариев, которых нет на странице (и запарсить куда нужно), а не рендерить все дерево? Были мысли по этому поводу?

И почему внутри топика не показывается количество комментариев? Вроде бы отдать дополнительный параметр в асинхроне проблем не составляет, и подсчет комментов, привязанных к топику — задача абсолютно и незатратная?

Почему для передачи аснхронов вы выбрали именно XML, а не JSON, какие преимущества XML стали решающими при выборе?
Тогда немного изменю вопрос:

Что такого дает Apache, ради чего стоит отказываться от FastCGI?

:)

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity