Архив

Публикации с меткой ‘PHP’

Проблемы с русским текстом, strtolower и strtoupper?

17 Март 2008

Иногда случается так, что из-за проблем с локалями в PHP функции strtolower и strtoupper перестают работать с русским текстом. Если нет времени разбираться, а нужно быстро получить результат, можно воспользоваться таким кодом:

function toupper($content)
{
$content = strtr($content, “абвгдеёжзийклмнорпстуфхцчшщъьыэюя”,
“АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ”);
return strtoupper($content);
}

function tolower($content)
{
$content = strtr($content, “АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ”,
“абвгдеёжзийклмнорпстуфхцчшщъьыэюя”);
return strtolower($content);
}

Более подробную информацию всегда можно найти на сайте php.net. В поиске по функциям strtolower и strtoupper.

admin PHP , , , ,

Кодогенерация, как вариант избавления от рутинной работы

8 Март 2008

Хочу сегодня поговрить об очень перспективном направлении в программировании - кодогенерации.
Эти мысли пришли ко мне в голову после того, как я начал пректировать новую версию движка для сайта devoid.com.ua.
Для реализации выбрал популярный сейчас паттерн Model-View-Controller.
Используя такой подход, программисту необходимо реализовать “Model” - модель представления данных. Для этого чень полезной является реализация класса-оболочки для работы с Базой Данных, которая предоставляет механизмы извлечения данных, добавления, удаления и редактирования записей.
Если посмотреть немного дальше и представить что при каждом новом проекте нужно будет писать новый класс-оболочку для Баз Данных, который будет выполнять практически стандартные функции - становится как-то грустно, ведь всегда интереснее решать разнообразные задачи, а не писать по сути одинаковые классы, которые будут получать информацию с БД, добавлять, удалять и редактировать записи.
Именно здесь нам на помощь приходит кодогенерация, которая для реализации слоя доступа к данным (Data Access Layer) генерирует на основе описания таблиц БД класс, который содержит в себе необходимые функции для реализации Model из паттерна MVC.
Уже сейчас существует ряд готовых решений, которые предлагают вам создавать классы для работы с данными на основе описания структуры БД. Если вы хотите избавиться от рутинной работы создания классов для работы с БД - можете написать свой генератор или использовать уже имеющиеся (это могут быть и консольные решения, и Win-приложения и те же PHP-скрипты, кому как удобнее).
Все что необходимо генератору кода - это описание базы данных, выполненное в удобном формате (как вариант XML). В описании нужно указывать имена столбцов, тип данных, которые они содержат. Если вы сами пишете генератор, то позаботьтесь о том, что б он был безопасный к различным типам данных и имел достаточную функциональность.
Любому программисту будет удобнее выполнить простой код:

$user->create(”UserName”,”Mail”… остальные поля);

чем делать это вручную каждый раз. То же самое и с редактированием, удалением. Намного приятнее выполнить

$user->remove(’user_id’);

а все, остальное за вас сделает сгенерированный класс.
Здесь даже не столь важным является язык реализации, или конкретная База Данных. Основной изюминкой является реализация данного процесса, и избавление программиста от рутины. Один раз ГРАМОТНО написав генератор, вы получаете готовую модель работы с данными для каждого проекта, а сэкономленное время с удовольствием можно потратить на разработку новых интересных решений и сосредоточиться на реализации представления данных пользователю.
Надеюсь кое-как смог выразить свои мысли по этому поводу в данной заметке, и натолкнул вас на что-то новое и интересное в безграничном мире программирования :)

Да, и не забудьте поздравить женщин с их праздником сегодня…
Всех женщин поздравляю с праздником и желаю внимания, любви и удачи!

admin PHP, Программирование , , , , ,

Нужно спасти ребенка… пока еще не поздно!

23 Февраль 2008
Помогите ребенку

Здравствуйте уважаемые читатели этого блога. Недавно на одном из форумов который регулярно читаю нашел топик “Давайте поможем ребенку!!!”, как и у всех - возникли очередные сомнения о честности данного заявления, т.к. мошенников сейчас очень много. Но по ходу выяснений оказалось что ребенку четырех лет действительно нужна помощь, один из форумчан звонил бедной маме и выяснил все детали. Потому сейчас идет очень большая кампания на сбор средств для спасения ребенка. Если у Вас есть хоть немножечко желания и возможность помочь - сделайте это. Уже откликнулось очень много людей, но и этого пока не достаточно.
О ребенке и его болезни можно почитать здесь:
http://kp.ru/daily/24050.5/103289 (Банковские реквизиты присутствуют)

Обсуждение темы ведется:
http://forum.searchengines.ru/showthread.php?t=206789&page=1 (здесь уже выбрали доверенное лицо, которому можно перечислять WMZ и WMR, человек живет рядом, ему можно доверять).
Если вы блоггер, то там же Вы найдете коды баннеров, для более обширного освещения проблемы.
http://2ps.ru/wm.php - здесь список тех, кто уже перечислил деньги.

Надеюсь Вы не останетесь в стороне и поможете Шипицыну Даниле.

admin Обо всем , , ,

Создание превьюшек в PHP

5 Февраль 2008

Сегодня почему-то захотелось показать простую, но тем не менее очень полезную функцию для создания превьюшек больших изображений. Часто бывает так, что имея большое изображение, нам нужно вывести маленькую его копию для предпросмотра или галереи. Вот тут нам и пригодится PHP и функция resize, которую мы сейчас напишем. В файле, где нужно вставить маленький рисунок пишем:
<img ALT="preview" SRC="resize.php?url=image.jpg" />
Тоесть просто ссылка на файл PHP, которому в качестве параметра “url” передаем имя файла, размеры которого нужно изменить.
Далее рассмотрим скрипт resize.php, который должен возвращать изображение с маленькими размерами:
Читать далее…

admin PHP ,

Agile, Scrum и экстремальное программирование

12 Январь 2008

Решил написать о сравнительно новой методике экстремального программирования - Agile, которая в последнее время на западе приобрела огромную популярность.
Начну с определения “Экстремальное программирование” по версии ru.wikipedia.org:

Экстремальное управление проектами — англ. Extreme project management (XPM) — метод управления очень сложными или неопределёнными проектами. От традиционных методов управления проектами XPM отличается открытым, гибким и недетерминистским подходом. Основное внимание уделяется человеческому фактору в управлении проектами, а не следованию запутанным техникам и строгому формализму. XPM является обобщением методик экстремального программирования.

Эта цитата дает общее понимание методики экстремального программирования, что же касается именно Agile, здесь имеем такой вариант:
Читать далее…

admin Программирование

Тема выборов сейчас очень актуальна…

3 Декабрь 2007

Нашел на своем любимом форуме обсуждение интересной темы, решил поделиться самым “сладеньким оттуда” :) :

Особо демократичные граждане могут назвать детей соответственно моменту:

ИМЕНА ДЛЯ МАЛЬЧИКОВ:
Быкап - быть как Путин
Вертивлас - вертикаль власти
Влапунал - Владимир Путин наш лидер
Моргозедир - мои родители голосуют за “Единую Россию”
Пуповжим - Путин поцеловал в живот мальчика
Спервозглип - список “Единой России” возглавил лично Путин
Спузавозрос - спасибо Путину за возрождение России
Фракер - фракция Единая Россия
Сиросер - Сильная Россия-Единая Россия
Читать далее…

admin Юмор

Комментарии в ASP.NET и PHP

20 Ноябрь 2007

Для того чтобы в коде РНР оставить комментарий, используем такую конструкцию:

<?/*
This is the server-side comment
*/?>

Стоить отметить что на стороне клиента этот комментарий не отобразится ( в отличии от <!– Comment –>)

Аналогом в ASP.NET является:

<%--
This is the server-side comment
--%>

Вот так все просто :)

admin ASP.NET, PHP , ,

IDE для PHP - VS.Php

17 Ноябрь 2007

Недавно нашел в интернете интересную вещ: IDE для PHP, которая при установке отлично интегрируется в Visual Studio (есть также Stanalone версия). После установки вы можете писать РНР-скрипты в Visual Studio. VS.Php поддерживает все полезности студии, в нем есть подсветка синтаксиса, подсказки по функциям, дебаггер, IntelliSense. Вобщем неплохо все сделоно. Вот скрины:
VS.Php
syntax_checker
html_intellisense
Скачать и посмотреть больше скринов можно здесь: http://www.jcxsoftware.com/.

admin PHP ,

Оптимизация кода PHP. Сравнительные таблицы

29 Октябрь 2007

Здесь нашел очень интересную таблицу, которую привожу:

Плохо Хорошо Разница
$a=”text $b”; $a=’text ‘.$b; 50%
eregi(”(ма[a-zа-я]{1,20})”,$text); preg_match(”/(ма[a-zа-я]{1,20})/im”,$text); 76%
$test[a][b]=1; $text['a']['b']=2; 361%
foreach($test as $n)
$it=0; while($it<100000)
254%
while (list($k, $v) = each($test)) foreach($test as $k=>$v) 22%

Теперь будете знать какие конструкции использовать предпочтительнее.

admin PHP

Функции PHP для работы с переменными и строками

23 Октябрь 2007

Здесь я приведу несколько функций с описаниями, которые чаще всего используются в PHP при работе с переменными и строками.
Для работы с переменными популярными являются такие функции:

gettype($var) - возвращает тип переменной.
settype($var,type) - устанавливает тип переменной
int isset($var) - возвращает true если переменная существует, и false если нет.
int unset($var) - ф-я удаляет переменную и возвращает true
int empty($var) - проверяет существование переменной и наличие у нее ненулевого значения.

А вот несколько функций для преобразования текста:

trim () - удаляет все пробелы.
ltrim() - удаляет все пробелы слева.
chop() - удаляет все пробелы в конце строки
nl2br - принимает строку в качетсве параметра и заменяет в ней все символы новой строки, дескриптором strtoupper() - RESULT OF FUNCTION
strtolower() - result of function
ucfirst() - Result of function
ucwords() - Result Of Function

А теперь немного о Блоговаре:
TopFights.Net - просто сумашедшие картинки там можно увидеть! :)
Nudnik.ru - здесь почитал Правда про Monetize!, интересно.
Православный Газенваген™ порадовал постом “Самые дурацкие изобретения 20 века.”

admin PHP ,