Я знаю, это звучит как вопросительный вопрос, но позвольте мне объяснить, откуда я.
Из колледжа я получил работу в магазине PHP. Я работал там полтора года и думал, что я все узнал о программировании.
Затем я получил работу в качестве индивидуального внутреннего магазина разработки в значительной корпорации, где вся работа была на С#. В своей приверженности позиции я начал читать тонну блогов и книг и быстро понял, как неправильно я думал, что я все знаю. Я узнал об модульном тестировании, шаблонах инъекций зависимостей и декораторах, о принципах конструкции свободной связи, о составе над дебатами наследования и т.д. И так далее, и я все еще очень поглощаю все это. Излишне говорить, что мой стиль программирования полностью изменился за последний год.
Теперь я нахожу, что собираю проект php, который делает некоторую кодировку для запуска друга, и я чувствую себя полностью ограниченным, а не программированием на С#. Меня действительно беспокоит, что все переменные в области класса следует называть добавлением "$ this- > ". Меня раздражает, что ни одна из IDE, которую я пробовал, не имеет очень хорошего интеллекта и что мои методы тестирования модульных тестов SimpleTest должны начинаться со слова "тест". Это сводит меня с ума, что динамическая типизация не позволяет мне неявно указывать тип параметра, который ожидает метод, и что вам нужно написать оператор switch для перегрузки методов. Я не могу поверить, что вы не можете иметь вложенные пространства имен и должны использовать оператор:: для вызова конструктора базового класса.
Теперь я не собираюсь начинать дискуссию с PHP vs С#, но я хочу сказать, что я уверен, что есть некоторые функции PHP, о которых я либо не знаю, либо не знаю, но пока не могу правильно их использовать. Я установлен во вселенной С# и не вижу снаружи стеклянной чаши.
Итак, я спрашиваю, каковы ваши любимые функции PHP? Что вы можете сделать в этом, что не можете или сложнее на языках .Net?