![]() |
PHP 5, стоит ли переходить?
Недавно прочел книжку O'Reilly "Upgrading to PHP 5" (кстати, если кому нужно, могу закинуть) и был просто потрясен новыми возможностями 5-ки. Вот только есть множество ньюансов, создающих переход на него проблематичным.
Народ, поделитесь опытом, как работают старые скрипты на новой версии PHP |
никто же не заставляет тебя писать код в ООП-стиле, кто придерживался этого подхода(например я), тот делал это еще в php4.
|
Die_Slogan
Скрипты работыют. только валятся нотисы, предупреждающие о том, что такая-та структура языка устарела... |
Переходить стоит на тестовых или девелоперских серверах - а для продакшена надо еще подождать.
Фмич мног разных вкусных и это клево - чем больше людей будут использовать в своих работах новую версиию тем быстрее в ней найдут баги и тем быстрее ее будут ставить на хостинги. |
На 5-ый PHP нужно переходить только при наличии сервера или письменного согласия хостера :)
|
Я попробовал енто чудо. Вроде ничего. Тока возникли проблемы с функциями для работы с MySQL. Напроч отказывается коннектиться к базе. В чом может быть дело?
|
хех, а мой класс работает и с php5:)
если придерживался нормального стиля программирования, то никаких проблем не возникнет, при желании останется потом потихоньку переписать код специально под php5. что прочитал: новый ООП. наконец-то появились модификаторы доступа. свойства конструкторы и деструкторы наследование(в том числе и реализуемых классом интерфейсов) статические методы появились итераторы(в SPL). это радует. пока их не пробовал, только прочел о них и глянул пару примеров. вещь имхо крайне полезная. теперь не надо будет писать бесконечно унылые рекурсивные классы для вывода древовидных структур и т.д. появились интерфейсы. тоже хорошая штука. но непонятно, как это дело использовать в реале. пример в .NET 1. описываем стандартный интерфейс доступа к данным, например. 2. далее пишем реализацию(класс) для конкретной базы данных(используя уже типизированный провайдер, например для SqlServer - SqlClient). 3. а вот тут вся суть предыдущих действий. создаем класс бизнес логики и используем единый(ну почти, тут есть кое-какие проблемы, но они решаемы) интерфейс доступа к данным, т.е. не нужно каждый раз переписывать этот класс для разной бд. и с помощью рефлексии, у нас "на автомате" подставляется нужный класс. вобщем все это конечно пространно, но кто знает что такое n-tier appz, тот меня поймет. ну и вообще интерфейсы, это хороший путь описания функциональности класса, без его реализации(собственно это и есть отличие от абстрактного класса). короче нужно смотреть рефлексию. далее, xml. наконец-то, заявлено о поддержке следующих технологий: DOM SAX SimpleXML XPath XSLT для нас представляют интерес все, кроме SAX. а где Xml Schema?! :mad: о чем не имею представления: SQLite Web Services(SOAP) - в php-версии Tidy вобщем, налицо прогресс, ну и как обычно огроменная ложка дегтя: В Dot NET(.NET) все это и много больше появилось давным давно. Также несколько языков программирования, мощнейшая система готовых классов(.NET Framework) и т.д. и т.п. скоро: .NET Fкamework 2.0(уже есть beta). И там очень много нового(в ASP.NET, например). поэтому пока что php5 все еще безнадежно отстает от asp.net. вывод: переходить надо, я бы даже сказал необходимо. не секрет, что сегодня web-приложения это сложные распределенные системы, которые требуют определенного подхода к разработке(в том числе и к языку программирования). php5, приобретя многие положительные качества, по прежнему остается довольно "легким" и массовым решением. конечно, если вы предпочитаете писать 2-3 строчки кода в HTML, то скорее всего почти не заметите разницу, ну а все остальные оценят все мощь объектно-ориентированного подхода. простой пример, этот(он менялся весьма незначительно) класс я использую почти во всех своих разработках на php(там где применяется mysql): Код:
<?phpКод:
$db = new MySql(null,"databse","root","gggg"); |
Sheryld, не-ООП подход хорош в маленьких скриптах, а когда проект разрастается до уровня портала, то хочешь-не хочешь приходится использовать ООП. Притом, ИМХО, он значительно упрощает жизнь.
Бтв, в твоем классе не проще было бы реализовать подключение и выбор базы данных в самом конструкторе класса? Sych, я тоже так подумываю, но еще хочется узнать, как работает, и самый главный вопрос: Насколько совместимо с прежним софтом. is_absent, ну нотисы эт фигня, варнингов не было? |
Die_Slogan
совместимость сверху вниз, как обычно.. не помните как с php3 на php4 переходили? :) варнингов не было.. а нотисы связаны с объявлением свойств класса с помощью var вместо рекомендуемых private|public|protected [const] |
is_absent, совместимость сверху вниз, это в идеале, а на практике, как обычно, бывают свои приколы.
|
Die_Slogan
Все что работало в php4 будет работать в php5. А про "на практике" обычно говорят люди, у которых не очень качественный код... Конкретно к тебе я это не отношу -- не видел как ты пишешь. Чувствую пора создавать новую тему, о чистоте/качестве кода :) |
Хыы, кривости кода у всех хватает
|
Die_Slogan
я не про ту, которая у всех, а ту, на которую говорят "ну работает же, чего лезть-то?" :-) |
есть две вещи, которые следует различать.
1. элементарная "безграмотность" программиста. 2. используемая методология. иногда вторым оправдывают первое:) |
эээ... мы несколько ушли от темы.. может в отдельное обсуждение выделить данный вопрос? или попросить админов создать раздел.. типа "обсуждение качества кода" :)
|
А в качестве чего лучше "прикрутить" PHP к Apachе (на локалхосте)?
В качестве модуля или CGI binary? И в чём вообще разница? |
BetDeD
пятый PHP пока рекомендуют ставить как CGI, четвертый как модуль апача. разница, если не вдаваться в подробности в том, что php, стоящий как модуль апача имеет больше возможностей. и вроде как больше защищен. |
у меня стоит php5 как модуль к apache2.
php4 как модуль к apache1.3.x. |
Цитата:
|
а что можно сделать, кроме как проверить xml-документ на соответствие данной схеме? это не серьезно:)
|
XML Shema для этого и нужна, если ты не знал...
|
ну хорошо, а скажем такая задача, на основе xml создать базу данных, или запамить данные? опять все руками...я сказал, что неплохо было бы забацать хоть что-то, оттдаленно напоминающее dot net framework(system.xml)
|
Для того что бы что то на чем то делать - в перую очередь нужна голова на плечах, фантазия, а так же умение читать - чего у некоторых людей катострофические ненаблюдается.
Что можно реально сделать на php5 со всеми примочками можете посмотреть здесь http://193.110.160.72/en/ http://193.110.160.72/ru/ http://193.110.160.72/uk/ смотреть раздел статьи машина доступна с 8-16 GMT для каждой страницы можно посмотреть ее исходник xml + xslt запросив ее с соответствующим расширением. Так что делаем выводы :-) |
неплохо, а я вот все давно хочу написать DAL, основанный на xml, идея не нова, но мне до сих пор не стречалась реализация под php.
идея в следующем. 1. все запросы - это xml(т.е. есть некоторый язык, который формирует запрос). 2. есть парсер - который строит sql из xml. 3. все результаты также преобразуются в xml и затем(с помощью xslt/html/etc) выводятся. p.s. завидую, у нас на хостинге этого еще долго не будет:( |
дык это и не хостинг это моя рабочая машина пока ;-)
движок кстати полностью открытый - детально почитать можно здесь Конечно тем кто разобрался в новинках в 5 на 4 даже смотреть не хочеться |
Цитата:
|
не совсем согласен - хостинги с php5 уже есть но их не так много - для этого нужно время, так же стоит затронуть тот аспект что многие стистемы пишутся специально под конкретное железо - так что у заказчиков с этим вопросов не возникает - те тут надо смотреть на кого в первую очередь ориентирован тот или иной продукт.
|
Цитата:
2 Sych:По сайту: Код:
Page Not Found |
я же написал что там не все работает (смотри раздел статьи) - а то что ты увидел это обработчик ошибок (мы там щас сделали многоуровневый без вывода технической инфы) но я еще не рискую обновляться - сам поинмаешь люди смотрят :-) + в cvs есть есть еще модуль статических страниц, думаю завтра обновлюсь.
|
работаю с пхп 5.0 вроде нормально, глюков левых не выскакивало:)
|
2Razer про какие окна ты говоришь?
|
А что есть бесплатные версии?
|
бесплатные версии чего? я не понимаю о чем ты говоришь...
|
... бесплатные версии операционной системы Microsoft Windows.
PS: Так лучше? ;) |
а причем тут php5? это вотчина *nix - хостеров.
|
Это я камень в огород ASP бросал ;)
|
| Часовой пояс GMT +4, время: 00:50. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.