Обновить
43
45.2
Александр Шульман@developer

Развиваю ИТ

Отправить сообщение
молодец — красивое решение
По своим характеристикам новая микросхема на память типа CMOS

пропущено слово «похоже»

будущее уже здесь! Я б себе с удовольствием взял бы прозрачный такой телефон — красиво!
красивый сервис, приятный. А все модельки, публикуемые там свободны для использования и распространения?
вообще если у человека есть специализация, то он специалист, а если человек просто пишет обовсем, т оон флудер/спамер
это кстати отдельный вопрос: что лучше поменять руководителя, который не может построить говноедов или выгнать говноедов и найти адекватных сотрудников. Как показывает практика все зависит от направления деятельности. В ИТ гнать в шею всех говно(едов|кодеров|верстальщиков|дизайнеров) а в промышленности какой или в гос структурах проще содержать говнолюдей — они управляемее
переведите пожалуйста:

Q: C++ uses ”::” for namespaces, why did the PHP internals developers feel they needed to solve the ambiguity issues rather than leaving it to each developer to prevent ambiguity between namespace names and other identifiers?

A: Ambiguity is an edge case, meaning that developers wouldn't necessarily be aware of the potential for it through their own past experience, and debugging would be extremely difficult. Further, there was no way to provide a PHP error message on ambiguity without impacting performance in all cases. [Reference needed]
вот не пойму за что минусуют человека? за то что он на PHP перешел? товарищи ПХПешники! давайте выравляем положение!
хорошо сказал
ну кстати модули вам может заменить грамотные внутренние соглашения именований, и в ближайшее время они будут введены.
я писал систему складского учета в интранет.
а так самый популярный пример PHP My ADMIN вы же не будете утверждать, что управление БД это чисто сетевая задача? Хотя эти примеры именно работают под интернет серверами.
Есть множественные примеры когда мой знакомый админ писал всякие скрипты настройки / управления / профилактики на PHP потому что как он говорит это понятнее чем ПЕрл
вы убежденный фанатик — отказываюсь в таком ключе с вами разговаривать.
если вы опустились до фраз: «язык — дерьмо», то очевидно что вы просто холиварщик.
а вы пишите код не на хаках — все работать и будет замечательно. Я писал скрипты еще на 4-ке и на 5.1 и ничего, все работает до сих пор. При этом не могу сказать что у меня там все просто.
Ну вот стоит перед вами выбор писать наподобие:
preg_replace("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtoupper('\\2').'\\3'", $html_body);
или использовать preg_replace_callback. так выберите второе — вас потомки добрым словом вспомнят.
таких примеров масса. Следуйте рекомендациям «хорошего» кода и 90% проблем изчезнет.
ну а то что PHP зависим от расширений, так это понятно, но не является минусом потому что в обновления и релизы включаются только стабильные версии, косяки очень редки и оперативно фиксятся
я пропустил момент, но щас прочита — прикольно на самом деле. аргумент не маловажный. Кстати исторически именно поэтому одинарные ковычки не экранированы, чтоб проще было писать струкрутно
плюс один! я тоже это подумал первым делом
вот уже из за кризиса они сворачивают креатив, посмотрим смогут ли они остаться прежними.
а так все просто. Когда ты переходишь от терминологии «данные» и «функция» к терминологии «некоторая сущность, которая отвечает за..» ты сделаешь 1/3 работы.

На примере. Допустим у нас на сайте везде есть доступ к какой-то информации (условно назовем тексты), ты можешь написать функции которые будут работать с этими текстами, а можешь сделать объект, который будет проводить работу с ними, назовем его условно class ContentManaget что это тебе дает?

во первых, ты получаешь что все функции по работе у тебя собраны в одном месте (это инкапсуляция)
class ContentManaget
public function getText($id)
public function getTextList()

во вторых ты можешь включить в свой класс функции, которые нужны для работы объекта (экземпляра класса)

class ContentManaget
public function getText($id){
return $this->preOut($this->loadText());
}
protected function loadText($id)
protected function preOut($txt)
public function getTextList()

таким образом ты лишил себя и других разработчиков пользоваться внутрненними служебными функциями своего объекта

но объект — это сущность а не только функции. Тоесть это не только обработка данных, это еще и сами данные. Теперь зная это просто сделать кеширование:

class ContentManaget
protected $cache=array()
public function getText($id){
if (!isset ($this->cache['id']))
$this->cache['id'] = $this->preOut($this->loadText());
return $this->cache['id']
}
protected function loadText($id)
protected function preOut($txt)
public function getTextList()

так ты можешь понять что такое инкапсуляция и зачем нужно ооп и где оно упрощает жизнь на пальцах.

Второе наследование: допустим у тебя есть критерий по которому твоим ContentManaget ром могут пользоваться админы и пользователи, пользователи тока читают, а админы допустим еще и пишут, как сделать эти разграничения? просто.

class EditorContentManaget extends ContentManaget
function add($title, $txt)
function delete($id)
function edit($id)

теперь собственно место выбора того или иного класса при создании экземпляра:

if (isAdmin())
$cm = new EditorContentManaget;
else
$cm = new ContentManaget;

это наследование. ну полиморфизм ты понял из статьи.

короче то что я сказал — это малая часть притом не верная, она нужна только чтоб заинтересовать, чтоб понять как нада нужно читать хорошие книги, список тебе тут накидают в коменты

бытовой пример использования ООП:
habrahabr.ru/blogs/php/39739/
про сервера мне ржака — про девочку «специалист таких расследований» =) «вместо того чтоб вести в ньюйорк решили вести их завтра в чикаго»!

Информация

В рейтинге
167-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Генеральный директор
Ведущий
От 3 000 000 ₽
Управление проектами
Ведение переговоров
Разработка ТЗ
Agile
Управление разработкой
Оптимизация бизнес-процессов
Организация бизнес-процессов
Построение команды
Стратегическое планирование
Развитие бизнеса