|
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Хабрахабр: PHP / Блог / Захабренные/Записи в блоге |
|
Хабрахабр: PHP / Блог / Захабренные
Голосов: 1 Адрес блога: http://habrahabr.ru/blog/php/ Добавлен: 2008-06-12 19:52:35 блограйдером ZaiSL |
|
PHP RUtils — небольшая библиотека для обработки русского текста
2013-10-22 14:07:56 (читать в оригинале)В работе на языке Python я частенько использую библиотеку Pytils для работы с русским текстом, и мне очень не хватало этой библиотеки при работе на PHP. Возможно, я искал плохо, но все, что я находил, не предоставляло подобных возможностей либо не слишком отвечало моим понятиям о чистом коде.
И вот, однажды я решил портировать библиотеку на PHP, и теперь хочу поделиться ею с народом и очень надеюсь на помощь в ее улучшении: буду рад советам, баг-репортам и особенно pull-реквестам. Библиотека находится на GitHub'е: github.com/Andre-487/php_rutils
Возможности библиотеки
PHP RUtils — порт Pytils на PHP. Это утилиты для работы с русским текстом. Утилиты разделены на следующие модули (классы):
- Numeral — работа с числами: склонение существительных в зависимости от количества, числа прописью, суммы денег в рублях и копейках прописью.
- Dt — работа с датами: расширение формата дат PHP русскими именами месяцев, дней недели; временные периоды (например, 24 976 дней назад).
- Translit — транслитерация, подготовка строк для использования в URL'ях, именах файлов.
- Typo — небольшой набор правил типографики простого текста.
Примеры кода и подробности
[Перевод] WAMP: перед установкой нового выпуска
2013-10-22 11:01:36 (читать в оригинале)Предисловие переводчика
Имея совсем небольшой опыт работы с набором WAMP (Windows Apache/MySQL/PHP), я столкнулся с необходимостью его переустановки как с целью обновления версий составляющих его частей, так и с целью установки openssl. Openssl в свою очередь мне необходим для использования composer, а composer для установки Laravel 4. Laravel 4 мне нужна просто из любопытства — хочется попробовать новую версию популярного фреймворка. Теперь вы знаете, что привело меня к переводу этой статьи, на которую я наткнулся в ходе поиска советов бывалых, уже прошедших этот путь людей, на форуме forum.wampserver.com/. Статья свежая, от 11 октября 2013 г., возможно кому-то из вас она и пригодится. Итак…
Читать дальше →
[Из песочницы] Переход на Selenium 2 + PhantomJS
2013-10-22 05:34:52 (читать в оригинале)В этом посте я запишу, как я переходил с Selenium RC на Selenium 2. Переход был мотивирован использованием PhantomJS в качестве браузера. В PhantomJS встроен Ghost Driver, который является WebDriver в том смысле, который использует Selenium 2. Но мои предыдущие тесты PHPUnit использовали класс PHPUnit_Extensions_SeleniumTestCase, который не умеет работать с WebDriver. Нужно было его заменить на PHPUnit_Extensions_Selenium2TestCase вместе со всем синтаксисом тестов.
Читать дальше →
[Из песочницы] Active Record против Data Mapper-а для сохранения данных
2013-10-21 20:16:05 (читать в оригинале)Эти 2 шаблона проектирования описаны в книге Мартина Фаулера «Шаблоны корпоративных приложений» и представляют собой способы работы с сохранением данных в объектно-ориентированном программировании.
Пример шаблона Active Record
class Foo
{
protected $db;
public $id;
public $bar;
public function __construct(PDO $db)
{
$this->db = $db;
}
public function do_something()
{
$this->bar .= uniqid();
}
public function save()
{
if ($this->id) {
$sql = "UPDATE foo SET bar = :bar WHERE id = :id";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->bindParam("id", $this->id);
$statement->execute();
}
else {
$sql = "INSERT INTO foo (bar) VALUES (:bar)";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->execute();
$this->id = $this->db->lastInsertId();
}
}
}
//Insert
$foo = new Foo($db);
$foo->bar = 'baz';
$foo->save();
В этом упрощенном примере, дескриптор базы данных вводится в конструкторе Foo (Использование инъекции зависимостей здесь позволяет тестировать объект без использования реальной базы данных), и Foo использует его, чтобы сохранять свои данные. Do_something — просто метод-заглушка, заменяющий бизнес логику. Читать дальше →
[Перевод] Публичные свойства, геттеры и сеттеры или магические методы?
2013-10-21 01:24:00 (читать в оригинале)Как правило, мнения расходятся касательно того, хорошей ли практикой является использование публичных свойств в PHP классах или всё же стоит использовать геттеры и сеттеры (и хранить свойства приватными или защищёнными). Ещё одно, компромиссное мнение, состоит в том, чтобы использовать магические методы
__get() и__set(). У каждого из подходов существуют свои достоинства и недостатки, давайте взглянем на них…
Читать дальше →
Категория «Музыка»
Взлеты Топ 5
|
| ||
|
+382 |
399 |
Follow_through |
|
+328 |
331 |
שימותו הקנאים |
|
+320 |
334 |
Tomas50 |
|
+317 |
357 |
krodico |
|
+307 |
359 |
Ланин Сергей |
Падения Топ 5
|
| ||
|
-4 |
42 |
Similis_Deo |
|
-5 |
2 |
Dark Music in Your Heart | Dark Music in Your Heart |
|
-6 |
9 |
BrightBand |
|
-15 |
135 |
Музпросвет в мыслях |
|
-16 |
167 |
Trance Music - Транс музыка |
Популярные за сутки
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.
