Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «ооп»
[Из песочницы] ActiveRecord своими руками на PHP 2014-11-06 12:06:25
Доброго времени суток! Я работаю над веб-проектом X. Проект большой, сложный и перспективный. ...
+ развернуть текст сохранённая копия
Доброго времени суток! Я работаю над веб-проектом X. Проект большой, сложный и перспективный. Но, как и в любом другом проекте, есть много кода, написанного наспех с пометкой «когда-нибудь исправлю».
Пришло время исправлять.
Читая очередной мануал, я обнаружил шаблон проектирования «Active Record». Простой запрос в Google, и вот уже подруга Википедия коротко и ясно рассказала обо всём (https://ru.wikipedia.org/wiki/ActiveRecord). Смысл шаблона прост: для работы с таблицами в базе данных решено было создать специальный класс, который бы выполнял все основные действия (CRUD).
Читать дальше →
Тэги: active, framework, mysql, php, record, zend, базы, данных, ооп, проектирования, шаблоны
[Перевод] Методы в примитивных типах PHP 2014-10-16 13:26:20
Некоторое время назад назад Энтони Феррара выразил мысли по поводу будущего PHP. Соглашусь с ...
+ развернуть текст сохранённая копия
Некоторое время назад назад Энтони Феррара выразил мысли по поводу будущего PHP. Соглашусь с большинством его взглядов, но не со всеми. В статье я остановлюсь на одном конкретном аспекте: преобразования примитивных типов данных, таких как строки или массивы, в “псевдо-объекты”, позволяя выполнять в них вызовы методов.
Начнем с нескольких примеров:
$str = "test foo bar";
$str->length(); // == strlen($str) == 12
$str->indexOf("foo") // == strpos($str, "foo") == 5
$str->split(" ") // == explode(" ", $str) == ["test", "foo", "bar"]
$str->slice(4, 3) // == substr($str, 4, 3) == "foo"
$array = ["test", "foo", "bar"];
$array->length() // == count($array) == 3
$array->join(" ") // == implode(" ", $array) == "test foo bar"
$array->slice(1, 2) // == array_slice($array, 1, 2) == ["foo", "bar"]
$array->flip() // == array_flip($array) == ["test" => 0, "foo" => 1, "bar" => 2]
Здесь $str — это обычная строка и $array является простым массивом — они не объекты. Мы просто даем им немного объектного поведения, позволяя вызывать в них методы.
Обратите внимание, такое поведение совсем не за горами. Это уже не сон, кое-что уже существует прямо сейчас. PHP расширение scalar objects позволяет определить методы для примитивных типов.
Читать дальше →
Тэги: php, видение, данных, новое, ооп, скалярные, типы
[Перевод] Объекты в JavaScript и создание JS-компонента. Часть 1 2014-10-14 17:28:58
... туториала об ООП в JavaScript ...
+ развернуть текст сохранённая копия
Эта статья — первая часть туториала об ООП в JavaScript и о создании простого JS-компонента.
Об объектах и JavaScript
Думайте об объекте, как о совокупности каких-то вещей. Например, представьте, что у вас есть велосипед. Этот велосипед является объектом, и он имеет совокупность каких-то признаков / частей / etc, называющихся свойствами объекта. Примером такого свойства может служить модель велосипеда, год его производства, его детали. Детали также могут иметь собственный набор свойств. Читать дальше →
Тэги: javascript, oop, веб-разработка, ооп, программирование
PHP-фреймворк Badoo 2014-10-07 13:00:08
+ развернуть текст сохранённая копия
Код нашего сайта повидал уже не одну версию PHP. Он неоднократно дополнялся, переписывался, модифицировался, рефакторился — в общем, жил и развивался своей жизнью. В это время в мире появлялись и исчезали новые best practice, подходы, фреймворки и тому подобные явления, облегчающие жизнь разработчику и готовые решить все основные проблемы, возникающие в процессе создания веб-сайтов.
В этой статье мы расскажем о нашем пути: как был организован код изначально, какие возникали проблемы и как появился текущий фреймворк.
Что было
Проект начали делать еще в 2005 году. Тогда никаких жестких правил по написанию кода и четко структурированного фреймворка не было. Код писали несколько разработчиков, они легко в нем ориентировались и его поддерживали, каждый привносил что-то свое. В то время известные сейчас фреймворки только создавались, поэтому примеров для подражания было мало. Так что можно сказать, что наш фреймворк образовался стихийно.
С архитектурной точки зрения это выглядело так: были объекты страниц, наследуемые от целой иерархии базовых классов, отвечающих за инициализацию окружения, сессии, пользователя и т.п. Каждая страница сама решала, когда, как и что ей выводить, делать редирект и т.п. В иерархии базовых классов было собрано много вспомогательных функций для инициализации и генерации стандартных блоков страниц, проверки пользователей, показа промежуточных промо-страниц и т.п. Со временем большинство из них было переопределено наследниками до неузнаваемости, что в разы усложнило и понимание того, как работает сайт, и саму поддержку кода.
Читать дальше →
Тэги: badoo, blitz, framework, javascript, php, php-framework, protobuf, баду, блог, веб-разработка, компании, ооп
[recovery mode] CodeIgniter 3.0 — будет! 2014-08-01 02:25:39
+ развернуть текст сохранённая копия
В последние годы популярность данного, некогда лидирующего PHP фреймворка, сошла на нет, что видно и по трендам использования различных PHP фреймворков, и по отзывам разработчиков. Многие из них поставили крест на CI после выхода новости годичной давности о поиске новых владельцев и мейнтейнеров для CodeIgniter, т.к. EllisLab перестало поддерживать его и перекинуло все силы на свою платную CMS ExpressionEngine. Остальные продолжали сетовать на то, что версия 2 вышла аж 28 января 2011 года (больше 3 лет назад!) и с тех пор кардинально не обновлялась.
Читать дальше →
Тэги: codeigniter, framework, mvc, php, веб-разработка, ооп
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Главная / Главные темы / Тэг «ооп»
|
Взлеты Топ 5
Падения Топ 5
|