Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> PHP трюки, Элегантные и интересные примеры кода 
V
    Опции темы
Nicklasos
Дата 13.2.2010, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Всем привет.
Пытался поднять данную тему на гуглоответах, но результат нулевой, только глупые ответы.
(http://otvety.google.ru/otvety/thread?table=%2Fotvety%2F&tid=4e502cf64f7d3287)


Давайте будем выкладывать здесь разные php-трюки или интересные примеры кода.
Может кто-то знает тематический ресурс?

Ну например интересный пример свопа двух чисел:

Код

list($a, $b) = array($b, $a); 



P.S. Тема очень интересная, если подключатся люди бывалые и с опытом.
Тема не для рассуждений для чего это надо, пишите, если вам есть что написать!

Это сообщение отредактировал(а) Nicklasos - 13.2.2010, 22:15
PM MAIL   Вверх
Ипатьев
Дата 13.2.2010, 22:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Осталось понять, зачем может понадобиться своп двух чисел. или не чисел.
PM MAIL   Вверх
segrey
Дата 13.2.2010, 22:16 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 26.12.2006

Репутация: нет
Всего: нет



Цитата(Ипатьев @  13.2.2010,  20:03 Найти цитируемый пост)
Осталось понять, зачем может понадобиться своп двух чисел. или не чисел. 

затем чтобы код потом никто не разобрал  smile 
PM MAIL   Вверх
skyboy
Дата 13.2.2010, 22:20 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Nicklasos @  13.2.2010,  20:18 Найти цитируемый пост)
 если подключатся люди бывалые и с опытом.

Цитата(Nicklasos @  13.2.2010,  20:18 Найти цитируемый пост)
Тема не для рассуждений для чего это надо

боюсь, взаимоисключающе.
PM MAIL   Вверх
Fortop
Дата 13.2.2010, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



На выбор smile
Код

$a -= $b = -1 * $b + $a += $b;

Код

$a -= $b = ($a += $b) - $b;


Код

$a += $b;
$b = $a - $b;
$a -= $b;


Только на кой черт такое надо - загадка.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Nicklasos
Дата 13.2.2010, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Fortop, это обфускаторы какие-то smile Но примеры интересные, спасибо.

Вот пример строки, больше ли она 3-х символов:

Код

if(isset($str[2])) {
   echo 'Строка больше 3-х символов';
}


Это сообщение отредактировал(а) Nicklasos - 13.2.2010, 22:50
PM MAIL   Вверх
Fortop
Дата 13.2.2010, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Nicklasos @  13.2.2010,  21:50 Найти цитируемый пост)
это обфускаторы какие-то

Вот именно, поэтому такой подход как привел я.

И вот такой подход
Цитата(Nicklasos @  13.2.2010,  21:50 Найти цитируемый пост)
Вот пример строки, больше ли она 3-х символов:
Код

if(isset($str[2])) {
   echo 'Строка больше 3-х символов';
}


Не рекомендуются к использованию


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Nicklasos
Дата 13.2.2010, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Цитата(Fortop @ 13.2.2010,  23:01)
Не рекомендуются к использованию

Это да, но есть же действительно интересные и полезные примеры, которые не запутывают, а наоборот проясняют код.
Вот например этот пример свопа через list(), очень даже хорошо смотрится, все таки из книги Дж. Шлосснейгла.
PM MAIL   Вверх
awdev
Дата 13.2.2010, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 22.11.2009

Репутация: 1
Всего: 1



Блин причем тут рекомендуется или не рекомендуется. ТС четко описал: 
Цитата
Давайте будем выкладывать здесь разные php-трюки или интересные примеры кода.
Может кто-то знает тематический ресурс?
Мне вот понравился своп.

И дело тут не в том, надо или нет, это прикольно и в этом тема! Не будьте сильно унылы это печально
PM MAIL   Вверх
nerezus
Дата 14.2.2010, 18:16 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

Ну например интересный пример свопа двух чисел:
 Мне кажется, вам следует для начала получше изучить синтаксис, чтобы "трюки" начали казаться вам обычным кодом.
P.S. Трюкачей и прочих личностей, генерирующих ###код, и не способных обосновать свою точку зрения ненавижу.

Цитата

Это да, но есть же действительно интересные и полезные примеры, которые не запутывают, а наоборот проясняют код.
 Да. И они описаны в синтаксисе. Учите.

Окей, раз тема так популярна, то пара трюков.
1) Изучить ООП. Офигенный трюк.
2) Получить опыт комерческих разработок хотя бы на $5k+. Трюк еще круче.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Nicklasos
Дата 15.2.2010, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Цитата(nerezus @ 14.2.2010,  18:16)
Окей, раз тема так популярна, то пара трюков.
1) Изучить ООП. Офигенный трюк.
2) Получить опыт комерческих разработок хотя бы на $5k+. Трюк еще круче.

Как можно говорить о человеке такое, совсем его не зная?
Я днями на пролет читаю книги, такие как Дж. Шлосснейгл Профессиональное программирование на PHP и Бьерн Страуструп Язык программирования С++.
К тому же имею почти 2 года опыта работы php-программистом.

Но я же не об этом говорю, везде где я просил людей поделится интересным опытом кодинга слышу что-то наподобие: "Эй ты, сопляк, иди подучись, не страдай херней!". 
Неужели люди совсем не хотят поделиться опытом, какими-нить интересными небольшими классами? Все только и тыкают в оптимизацию.

Вот интересно, если я создам тему, что-то вроде "Тотальная оптимизация кода на PHP. Делимся примерами", то люди буду говорит, что ну нафик все не оптимизируешь, пиши лучше красиво, использую интересные конструкции и приведут кучу своих примеров?

Добавлено через 6 минут и 28 секунд
Кстати, на ВК все тоже заунывные 
http://vkontakte.ru/topic-26_22304514

Добавлено через 7 минут и 53 секунды
О, я таки нашел интересные тематические ресурсы:
http://www.snippy.ru/
ну и конечно
http://ruseller.com/
PM MAIL   Вверх
nerezus
  Дата 15.2.2010, 01:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

Я днями на пролет читаю книги, такие как Дж. Шлосснейгл Профессиональное программирование на PHP и Бьерн Страуструп Язык программирования С++.
 Вторая книга связана с PHP не более, чем журнал Мурзилка.
Однако про первую соглашусь: единственная русскоязычная книга для профи.

Цитата

Как можно говорить о человеке такое, совсем его не зная?
 Я в прошлом посте указал причины. Первые 2 моих строки - это 2 причины.

Цитата

Неужели люди совсем не хотят поделиться опытом, какими-нить интересными небольшими классами?
 Спрашивайте конкретно вещи, которые интересуют - расскажем.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
skyboy
Дата 15.2.2010, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260




Цитата(Nicklasos @  14.2.2010,  23:12 Найти цитируемый пост)
Но я же не об этом говорю, везде где я просил людей поделится интересным опытом кодинга слышу что-то наподобие: "Эй ты, сопляк, иди подучись, не страдай херней!". 

да, в самом деле, достаточно неприятная ситуация. я приношу свои извинения на свой тон в начале и приятно удивлен твоей выдержкой.
только я и в самом деле считаю(я такой не один; точнее будет сказать "я согласен с тем, что ..."), что трюки наподобие префиксного инкремента запутывают код. понимаю изначальную порочность категорических суждений, так что даже вот так лучше: "любые неожиданные для меня и непонятные с первого взгляда конструкции будет во мне подозрение в собственной необразованности или же в выпендрежности автора", что в любом случае тормозит изучение кода. и именно поэтому не есть гуд.
кроме того, раз уж "трюк" по определению что-то неожиданное(пусть и может показаться красивым), то как следствие, удивлять оно будет многих. кроме того, неожиданные конструкции, к тому же, использующие особенности обработки, не отображенные в документации, рано или поздно могут "сломаться". вот этим-то оно и опасно, трюкачество.
если ты это отлично понимаешь, и тобой движет только "стремление к красоте" и тебе интересно посмотреть эдакую "выставку неожиданного кода", то мне жаль за свое вмешательство.
если же интересует, чем неприятна конструкция, наподобие приведенной тобой, постараюсь поделиться собственным пониманием "красивого кода"(я не настолько высокомерен, чтоб считать собственный код идеалом, нет smile )
PM MAIL   Вверх
Nicklasos
Дата 15.2.2010, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Просто есть желание создать какой-нить тематический ресурс, но наверное тема будет не очень популярна, что ж, придется записывать все в блокнот.
Ладно, в любом случаем спасибо.
PM MAIL   Вверх
Fortop
Дата 15.2.2010, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Nicklasos, если ты создашь ресурс где будет простой и понятный код для очень сложных вещей - то популярность ресурсу обеспечена.
А искать "трюки"... право же не стоит.



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
MoLeX
Дата 15.2.2010, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(segrey @  13.2.2010,  22:16 Найти цитируемый пост)
затем чтобы код потом никто не разобрал

и что тут такого в чем не разобраться?


Nicklasoshttp://forum.vingrad.ru/forum/topic-254519.html






--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
segrey
Дата 15.2.2010, 11:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 26.12.2006

Репутация: нет
Всего: нет



Цитата(MoLeX @  15.2.2010,  04:55 Найти цитируемый пост)
и что тут такого в чем не разобраться?

тут ничего, и применение в коде только осчастливит отладку.
PM MAIL   Вверх
Nicklasos
Дата 15.2.2010, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Цитата(Fortop @ 15.2.2010,  02:52)
Nicklasos, если ты создашь ресурс где будет простой и понятный код для очень сложных вещей - то популярность ресурсу обеспечена.
А искать "трюки"... право же не стоит.

Ну как бы "трюки" я выразился по аналогии с книгой "PHP. Трюки" Харингтона.
Ресурсов на подобную тематику полно, но слишком много воды и отступлений вольных, а хочется мяса, чтоб каждая тема была с листингом "интересного" кода, например: Гибкий роутер для MVC или что-то вроде этого. Не просто обычные примеры делать, а только толковые решения, но опыта маловато для такого. 
PM MAIL   Вверх
awers
Дата 15.2.2010, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Nicklasos, к примеру я уже лет 5 не видел "трюков" на пхп. Всё что приходится видеть - кривые решения. 
Чем больше опыта, тем меньше вещей кажутся трюками. Конечно не всё можно поделить на чёрное и белое, но трюками обычно называют то что не правильно (в данном контексте можно читать как "не читабельно").
PM MAIL WWW ICQ Skype   Вверх
Nicklasos
Дата 15.2.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Цитата(awers @ 15.2.2010,  13:18)
Nicklasos, к примеру я уже лет 5 не видел "трюков" на пхп. Всё что приходится видеть - кривые решения. 
Чем больше опыта, тем меньше вещей кажутся трюками. Конечно не всё можно поделить на чёрное и белое, но трюками обычно называют то что не правильно (в данном контексте можно читать как "не читабельно").

А вот и не всегда, Харингтон трактует трюки (hacks) как приемы, которые наоборот облегчают жизнь.

Это сообщение отредактировал(а) Nicklasos - 15.2.2010, 14:55
PM MAIL   Вверх
awers
Дата 15.2.2010, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Цитата(Nicklasos @  15.2.2010,  15:54 Найти цитируемый пост)
А вот и не всегда, Харингтон трактует трюки (hacks) как приемы, которые наоборот облегчают жизнь.

Вменяемый и читабельный код облегчает жизнь, особенно когда в команде 10+ человек.
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 15.2.2010, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Nicklasos, вот тебе прием облегчающий жизнь.
http://forum.vingrad.ru/index.php?showtopi...t&p=2097299


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
IZ@TOP
Дата 15.2.2010, 15:36 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Трюки на PHP -  я беру их там.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
nerezus
Дата 16.2.2010, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

А вот и не всегда, Харингтон трактует трюки (hacks) как приемы, которые наоборот облегчают жизнь.
 Приведи примеры трюков.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Nicklasos
Дата 16.2.2010, 11:45 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Цитата(nerezus @ 16.2.2010,  11:07)
Цитата

А вот и не всегда, Харингтон трактует трюки (hacks) как приемы, которые наоборот облегчают жизнь.
 Приведи примеры трюков.

Ну самый первый "трюк" - это класс-обёртка для js-библиотеки, которая делает прикольные всплывающие подсказки.
PM MAIL   Вверх
MoLeX
Дата 16.2.2010, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



ну если ты это считаешь трюком...


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Nicklasos
Дата 16.2.2010, 12:04 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Ну так самый первый пример...

Добавлено через 6 минут и 34 секунды
И собственно что такого удивительного?
В книге Дж. Шлосснейгла первой главой идет "форматирование кода", как лучше отступы в коде делать...

PM MAIL   Вверх
MoLeX
Дата 16.2.2010, 12:22 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(Nicklasos @  16.2.2010,  12:04 Найти цитируемый пост)
как лучше отступы в коде делать...

а это тут причем?

Добавлено через 53 секунды
Nicklasos, такое ощущение что вы выиграли подряд на пиар этого автора, каждое 3-тье ваше сообщение содержит его фамилию.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Nicklasos
Дата 16.2.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.12.2007
Где: Киев

Репутация: 1
Всего: 1



Цитата(MoLeX @ 16.2.2010,  12:22)
Цитата(Nicklasos @  16.2.2010,  12:04 Найти цитируемый пост)
как лучше отступы в коде делать...

а это тут причем?

Добавлено @ 12:23
Nicklasos, такое ощущение что вы выиграли подряд на пиар этого автора, каждое 3-тье ваше сообщение содержит его фамилию.

Ну нравится мне эта книга.

Ладно, тема уже с первых минут зашла в тупик, пора закрываться.
PM MAIL   Вверх
awers
Дата 16.2.2010, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Ещё раз хочу сказать, что трюков не бывает, бывает мало опыта
PM MAIL WWW ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1427 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.