Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   PHP 5 - вопросы и критика (http://forum.oszone.net/showthread.php?t=30902)

vadimiron 19-07-2004 14:21 210768

Открываю данный топик довольнотаки логично: выпущена финальная версия PHP 5.0.0-то есть можно начинать юзать.
Подробности смотрим тут
Модераторам: так как это новая ступень в развитии PHP, и будет наверняка много вопросов, предлагаю сделать данный топипк прикреплённым


mar 19-07-2004 22:22 210769

Спасибо за тему и идею :)

Добавлено:

итак, для затравки :) - по поводу миграции с ПХП 4 на 5 и, соответственно о том, что нового в 5-ой ветке, можно почитать в приложении к manual-у

Prisoner 20-07-2004 03:04 210770

Интересно через сколько столетий хостеры начнут его использовать... вкусностей много...

scazy 20-07-2004 18:05 210771

Я уже поставил на своем серваке... Хотя все кому не хватало Настаящего ООП давно подсели на C#, Java, и тд...
Но все равно приятно, что нас не забыли:up:

Добавлено:

очень жаль, что разработчики отказались от поддержки namespace... это очень огорчает

vadimiron 22-07-2004 03:28 210772

Цитата:

Интересно через сколько столетий хостеры начнут его использовать... вкусностей много...
По идее на 5-ой версии идут без проблем и старые скрипты, то есть написанные под 4-ую версию, то есть для хостеров это не будет лишним установить новую версию, они от этого только выиграют, так как к ним потянуться те юзеры, которые готовы использовать PHP 5, а программы старых клиентов будут также хорошо исполнятся
Осталось только убедить в этом хостеров....:(

mar 22-07-2004 11:12 210773

vadimiron
насчет без проблем старые скрипты (особенно крупные проекты) - что-то меня сомнения гложат. Особенно проекты с использованием классов - больно уж много переделано :(
надо подумать, как бы скачать и потестировать, не портя старого

mar 22-07-2004 19:16 210774

Цитата:

Хотя все кому не хватало Настаящего ООП давно подсели на C#, Java, и тд...
не все так просто: есть вещи, для которых Java - самое оптимальное решение, а есть такие, для которых достаточно ПХП, даже с теми несколько усеченными классами, которые были в более ранних версиях. Кроме того, не забывайте, что стоимость разработки одного и того же продукта на Java и PHP различается в разы, поэтому заказчик еще много-много раз подумает, прежде, чем захотеть чего-нибудь на Java ;) Также (примерно) по стоимости различаются и хостинги. PHP - сейчас по сути стандарт, а Java найти можно, но не задешево. Объясняется это разными причинами, но, думаю, не в последнюю очередь требованием к ресурсам сервера. *
Что касается C#, то для себя я его всерьез не рассматривала, как язык для web-приложений (просто программирование - отдельная песня, но тут мы говорим о web)  - по многим причинам, в том числе и потому, что не отношусь серьезно к web-серверам под MS-системы

[s]Исправлено: mar, 19:17 22-07-2004[/s]

vadimiron 05-08-2004 00:04 210775

Вот скоро закончатся экзамены и займусь наконец изучением ООП в ПХП5, скажите стоит ли и ООП в ПХП4 поучить, или там всё легче, и изуча ПХП5 не будет проблем   если что   написать скрипт и для ПХП4 (с соответствущими корректировками), или объективно-ориентированное программирование в этих двух разных версиях настолько разно реализовано, что надо их по отдельности учить??

Prisoner 05-08-2004 05:46 210776

Если изучать, то новое, имхо. Однако стоит учесть, что документации маловато, язык не распространен. Почему пятая версия? Просто переучиваться - процесс довольно болезненный :).

vadimiron 07-08-2004 00:43 210777

Цитата:

Просто переучиваться - процесс довольно болезненный
Так в том то и дело, мне надо научиться, а не переучиться, я в своей жизни ещё не одного класса не создал, я хотел как следовать разобраться во всех принципах ООП + изучить его реализацию в ПХП, вот и не знаю, какой версией лучше заняться.
Видимо я плохое время для этого выбрал, 4 ПХП ещё очень силён и стабильно занимают свою нишу, но от пятой версии все ждут прорыва и замены четвёртой (ждут в смысле предчувствуют, а не надеются)

Prisoner 07-08-2004 01:19 210778

Хм... на phpclasses.org уже вовсю клепаются и вывешиваются скрипты требующие пятую версию.

edne 09-08-2004 17:52 210779

Мне не удается заставить корректно работать  связку win2003, IIS, mssql2000 и php ни 4.3.8, на 5.0.х, ни 5.1.х.
Если найдется кто-нибудь у кого подобная связка (win2003,IIS,mssql200 и php) все-таки работает, то подскажите какую версию php используете, что нужно апгрейдить-даунгрейдить до работоспосбной конфигурации или в чем может быть проблема?

Суть проблемы выражается в том, что время от времени то что-то отваливается, то перестает срабатывать http-autentification, то вдруг перестают работать обычные функции (например  file_exists в коде
===
$f='images/1.gif';
if(file_exists($f)){
echo'exist';
}else{
echo'not exist';
}
echo"<img src=$f>";
===
идет по ветке 'not exist' не зависимо от того, есть или нет, в то же время имидж на экран выводится, 1.gif - был загружен ранее через file_upload), то еще что-нибудь.
На 4-ках не удалось подключиться к серверу mssql, остальное вроде бы все работает.
На 5-ке отваливается аутентификация - то работает, то не работает (например логинишься, копируешь урл страницы, открываешь еще одно окно, закрываешь то, в котором проходил регистрацию, в оставшемся востанавливаешь урл - появляется окно для логин-пароля повторно, но уже не пускает, это также проявляется при использовании фреймов).
На 5.1 время от времени отваливаются функции, причем достаточно хаотично, в один день эти, в другой - другие, на завтра все может снова работать, либо в одном каталоге работает, в другом уже нет, то есть ведет себя достаточно не стабильно.
В то же время те же самые скрипты на другой патформе (linux, apache,mysql) работают (с учетом замены mysql_* на mssql_* и корректировка sql запросов limit->top итд)
Обновление производится по ftp, php установлен как api.
php был взят на php.net
В принципе устроит любой php выше 4.3, но где можно взять работающий? Глубоких особенностей конкретной реализации php не используется, то есть скрипты в принципе (с микроскопическими изменениями) работают на любом php выше 3.х (под апачем), но хотелось бы что-нибудь в районе 4.3.х-4.8.х.
Сайт - информационный портал.
Сервер целиком выделен только под эту задачу, не выключается и не рестартуется, аплоад скриптов идет по фтп. Пока наружу не торчит (торчать собственно пока еще нечему).
Железо подбиралось специально под эту платформу. Если нужны подробности, то можно их дать, но не думаю что собака тут порылась. Ну если это критично, то корпус серебристый :)
Повторюсь, проблемы возникают на ровном месте: исправлять собственные синтаксические ошибки в своих скриптах - это одно, а пытаться что-то сделать на в целом неработающей схеме - это другое. Может дело и не в пхп вовсе? Вобщем, принимаются любые идеи...

mar 09-08-2004 23:41 210780

edne ну не надо делать сервера на IIS, торчащие наружу. Уж сколько раз твердили миру :(( Там же дыра на дыре сидит и дырой погоняет. Да и win - сервер - с точки зрения безопасности - бр-р-р

edne 10-08-2004 07:11 210781

mar, меня в данный момент больше интересует несколько другой вопрос: существует ли хоть какая-нибудь отлаженная версия php под win32 или это я такой большой, а в сказки до сих пор верю :)

mar 12-08-2004 23:56 210782

кстати - ссылка по теме топика

scazy 14-08-2004 19:16 210783

Я столкнулся с досадной ошибкой В ПХП5 - не работает глобальная переменная $_SERVER[HTTP_REFERER] и как я понял эта ошибка присутствует и в релизе 5.0.1

а по поводу
Цитата:

скажите стоит ли и ООП в ПХП4
наверное стоит поучить ООП в С++, там это реализовано наиболее полно, и все остальный языки программирования от версии к версии из С++ передирают разные вещи т.к. ни чего нового уже придумать нельзя

vadimiron 14-08-2004 19:35 210784

scazy
Странно, у меня работает, моя версия 5.0.0
Может ты кавычки забыл поставить :)
То есть так $_SERVER['HTTP_REFERER']
Напиши плиз текст ошибки, интересно узнать, что там может происходить

ivank 14-08-2004 20:03 210785

scazy
Цитата:

наверное стоит поучить ООП в С++, там это реализовано наиболее полно, и все остальный языки программирования от версии к версии из С++ передирают разные вещи т.к. ни чего нового уже придумать нельзя
Ой, а что это за слова такие: Smalltalk, Simula, ML... Это к вопросу о том, откуда передирают.

А по поводу PHP5 нричего конкретного сказать не могу. У меня на машине собрался. А до тех пор пока мой хостер его не поставит смотреть в его сторону даже не буду.
.

[s]Исправлено: ivank, 20:08 14-08-2004[/s]

scazy 22-08-2004 18:10 210786

Цитата:

Может ты кавычки забыл поставить
это не обязательно делать, начиная с версии 4.2.х это ограничение снято, т.е. элементы массива не обязательно заключать в кавычки

ivank 22-08-2004 23:34 210787

scazy
Цитата:

начиная с версии 4.2.х это ограничение снято
Да ну? Так можно делать очень давно. И регулировалось оно (для четвёрки) в конфиге (aka php.ini).

scazy 07-10-2004 18:08 210788

Видимица, никто пока ещё новым пхп не пользуется, боятца

vadimiron 07-10-2004 23:40 210789

Нее, хостеры мешают прогрессу

Danmer 30-10-2004 08:29 210790

Люди скажите может где-то можно скачать руский хелп по PHP5.
И заодно по установке?

vadimiron 30-10-2004 14:26 210791

Здесь вроде и то, и другое есть

Добавлено:

ну и это ещё

Добавлено:

ну и конечно здесь

Danmer 31-10-2004 07:07 210792

vadimiron Благодарю! :)


оффтопик удален


[s]Исправлено: Prisoner, 2:15 1-11-2004[/s]

Vlad Drakula 14-06-2005 17:07 332740

а что на счет "тупой" функциональной производительности?
что быстре пхп4 или пхп5 на коде написанном в функциональном стиле?

а какой XSLT парсер использует ПХП?

mar 14-06-2005 21:06 332781

По первому вопросу могу сказать только что читать о разнице в скорости 4 и 5 ветки не приходилось (может, ее и нет =)?)
Цитата:

а какой XSLT парсер использует ПХП?
так PHP же дается в открытых кодах - можно просто посмотреть. В XSLT парсерах ты у нас тут сейчас, похоже, единственный разбираешься :)

Vlad Drakula 14-06-2005 21:39 332786

mar
я вот знаю что он под виндой юзает майкрософтовсткий парсер от эексплорера...

scazy 20-07-2005 22:28 342518

насчет производительности могу сказать, что пхп 5.1 примерно в 3-4 раза бымтрее работает че ветка 5.0 и промерно в 10 раз быстрее чем ветка 4.х.х

Taiss22 22-07-2005 11:36 342883

Привет, все знатокам! Вопрос от дилетанта. Скажите, можно ли выучить язык программирования PHP, если до этого ни одного языка не знал? И с чего лучше начать? Имеется в виду самостоятельное обучение. Может, можете книги какие-нибудь посоветовать. Знаю язык HTML. В общих чертах знаком c CGI. Но хотелось бы выучить PHP, чтобы самостоятельно писать хотя бы простейшие сценарии (гостевая книга, счетчик посещений и т.п.). Заранее благодарен за любую полезную информацию.

juvio 27-07-2005 19:27 343987

Taiss22
Покупаем книгу или тратим кучу трафика на интернет и впуть. Неделя для более менее приличного скрипа. Месяц для рабочих скриптов. Год - боле или менее серьезные.

На затравку рекомендую Котерова "PHP 5" (books.ru и иже с ними).

А вообще пятерка хороша в ООП. Четверки пока хватает. Кроме того есть ряд проблем с безопасностью пятерки. ИМХО пока не будет 5.1 крупные хостеры вряд ли перейдут. У нас только один сервер с пятеркой. Поставили со словами - или к этому времени успеют зендовцы обкатать свой пхп или мы убедимся что все чики пок.

elfoflorien 20-09-2005 21:49 357006

Кто знает как настроить Dom XML в PHP5?
А то у меня половина скриптов перестала работать... :(
На сайте www.php.net нашел что-то про PECL, но скачать сий продукт не смог

И еще вопрос: если кто-нибудь пользовался SimpleXML (насколько я понял, он есть только с версии PHP5), выскажите свое мнение по целесообразности использования этого расширения.

Заранее благодарен.

yalo 02-10-2005 14:26 360828

не могу настроить PHP5 под Windows XP
 
не могу настроить PHP5 под Apache2 на Windows XP.
Делала все по книге, но не получается что-то. Для проверки создаю файл phpinfo.php с текстом:
<?php
phpinfo();
?>
После запуска браузер выдает ошибку 404(невозможно найти страницу).
Сам апаче запускается.
php-5.0.5-installer скачала с http://www.php.net/downloads.php и установила в C:\PHP и вообще действовала при установке "по умолчанию" (выбирала предложенные заранее варианты) за исключением выбора сервера (был предложен не апаче, я выбрала апаче).
Стоит у меня Windows XP, файл php5ts.dll из C:\PHP скопировала в директорию C:\WINDOWS\system и в C:\WINDOWS\system32
В httpd.conf прописала все как указано в книге.
Качала оттуда же 4-ю версию - все нормально установилось, даже если ничего не делать специально, кроме самой установки PHP4.
Там точно корректная версия PHP5, там - это на www.php.net/downloads.php ? Кто подскажет?




Igor_I 02-10-2005 23:37 360909

Цитата:

После запуска браузер выдает ошибку 404(невозможно найти страницу).
Мне кажеться просто не совпадают каталоги, где находиться сам файл phpinfo.php и каталог прописанный в http.conf

mar 03-10-2005 00:10 360915

Igor_I
мне кажется, что Вам кажется правильно :)

Igor_I 04-10-2005 21:01 361492

Цитата:

мне кажется, что Вам кажется правильно
На вы, да еще с большой буквы - я это просто не заслужил. :)

elfoflorien 05-10-2005 16:01 361715

yalo
Цитата:

файл php5ts.dll из C:\PHP скопировала в директорию C:\WINDOWS\system и в C:\WINDOWS\system32
а зачем? у меня все так работает - просто установил apache2, php5, прописал в httpd.conf добавление модуля php5apache2.dll и все прекрасно.

yalo 09-10-2005 08:02 362726

Наконец-то PHP5 вроде настроен и работает совместно с Apache2, но вот файл phpinfo.php
с содержанием: <?php phpinfo();?> работает в трех вариантах, то есть иногда он
действительно работает, а иногда броузер выдает либо просто пустой экран с кодом
<HTML></HTML>, либо "невозможно отобразить страницу", но без "ошибка номер 404 или 500 и т.д."
Причем закономерность пока никак не могу обнаружить с какими выполненными на компьютере действиями
этот глюк связан... Еще интересную вещь только что заметила: если загрузить другую страницу с сервера,
а после нее, не закрывая броузер, попытаться загрузить phpinfo.php, то (в случае неудачи) "мигнет",
т.е. загрузиться заново предыдущая загруженная страница с сервера, несмотря на то, что в строке запроса
будет стоять http://localhost/phpinfo.php (и останется стоять после загрузки НЕphpinfo-шной страницы)...
Можно, конечно, "забить" на эту phpinfo, т.к. остальные-то php-программки выполняются, но как-то
ведь непорядок получается... а т.к. я только начала учиться php, то ввиду маленького опыта какой-нить
еще глюк не замечу, и буду, например, ломать голову над правильным кодом... кстати, с 4-й версией php все
работало нормально, но php4 не хочу осваиваивать... да и зачем?- все равно все идет к php5...

elfoflorien 09-10-2005 21:47 362810

yalo
У вас стоит Apache 2.0.54?
у меня такое тоже бывает, особенно при использовании PECL библиотек :(

Igor_I 09-10-2005 23:40 362835

Все-таки не удержался. :)
PHP5 поставлен в виде модуля?
Настраничке phpinfo что стоит напротив Server API.
А строка AddType application/x-httpd-php .php присутствует?
http://journals.eecs.qub.ac.uk/phpinfo.php :) Похоже?

yalo 10-10-2005 04:31 362881

Да, у меня Apache 2.0.54. И PHP5 стоит в виде модуля, строчки в httpd.conf'е такие: LoadModule php5_module "C:/PHP/php5apache2.dll", AddType application/x-httpd-php .php
PHPIniDir "C:/php".
Только сомневаюсь, что это связано с Apache 2.0.54, по-моему, это связано с самим PHP5, т.к. на том же Apache 2.0.54 PHP 4-й версии идет нормально, т.е. нет проблем с phpinfo.
Igor_I
Цитата:

Настраничке phpinfo что стоит напротив Server API
Вот так там стоит: Apache 2.0 Handler, вроде похоже с http://journals.eecs.qub.ac.uk/phpinfo.php, только вот я обратила внимание, что на http://journals.eecs.qub.ac.uk/phpinfo.php в самом верху PHP 5.0.2, а у меня 5.0.4, может мне установить версию PHP 5.0.2, т.к. она возможно более отлажена?

Igor_I 10-10-2005 20:22 363112

Цитата:

а у меня 5.0.4, может мне установить версию PHP 5.0.2, т.к. она возможно более отлажена?
Если 5.0.2 немного отлаживается она становиться версией 5.0.3 и т.д. В этой ситуации 4 версия более отлажена.
Цитата:

Только сомневаюсь, что это связано с Apache 2.0.54, по-моему, это связано с самим PHP5,
Проблема может быть в их связке, друг с другом. Есть еще вариант поставить Apache 1 версии.

yalo 23-10-2005 15:20 366937

Продолжаю изучать PHP5. Запускаю такой код (ПЕРЕПИСАН ИЗ КНИГИ "PHP5, библиотека профессоинала" Леона Аткинсона и Зеева Сураски).
<?php
class ObjectTracker
{
private static $nextSerial = 0;
private $id;
private $name;
function __construct($name)
{
$this->name = $name;
$this->id = ++self::$nextSerial;
}
function __clone()
{
$this->name = "Клон $that->name";
$this->id = ++self::$nextSerial;
}
function getId()
{
return($this->id);
}
function getName()
{
return($this->name);
}
}
$ot = new ObjectTracker("Объект Зеева");
$ot2 = $ot->__clone();
print($ot->getId() . " " .$ot->getName() . "<br>");
print($ot2->getId() . " " .$ot2->getName() . "<br>");
?>

В ответ броузер выдает
Fatal error: Cannot call __clone() method on objects - use 'clone $obj' instead in C:\Program Files\Apache Group\Apache2\htdocs\listing6_4.php on line 27
Послушавшись его, 27-ю строчку исправляю на $ot2 = clone $ot; (может, конечно, неправильно поняла, ЧТО он имел ввиду в своих указаниях: use 'clone $obj' instead in...),
в результате после изменений броузер выдал:

Notice: Undefined variable: that in C:\Program Files\Apache Group\Apache2\htdocs\listing6_4.php on line 14

Notice: Trying to get property of non-object in C:\Program Files\Apache Group\Apache2\htdocs\listing6_4.php on line 14
1 Объект Зеева
2 Клон

Должно быть, конечно же:
1 Объект Зеева
2 Клон Объект Зеева
но так как that почему-то стал Undefined variable имя у клона получается обрезанное на половине...

Underson 25-11-2005 18:46 377585

Цитата:

что быстре пхп4 или пхп5 на коде написанном в функциональном стиле?
конечно 5 не вопрос там ядро переписано и сильно...
а хостеры не ставят потому как ускорители ПХП версия-зависимы... Но ускоритель для ПХП 5 делает его по скорости практически равным Перлу... потому как реализует то чем перл гордится и все такое.... а именно сохранение байткода в кеше сервера(на скока помню так говрорится)

Igor_I 25-11-2005 21:40 377614

PHP код:

class ObjectTracker
 
{
  
private static $nextSerial 0;
  
private $id;
  
private $name;

  function 
__construct($name)
  {
  
$this->name $name;
  
$this->id = ++self::$nextSerial;
  }

  function 
__clone()
  {
  
$this->name "Клон "$this -> name;
  
$this->id = ++self::$nextSerial;
  }

  function 
getId()
  {
  return(
$this->id);
  }

  function 
getName()
  {
  return(
$this->name);
  }

 }
 
$ot = new ObjectTracker("Объект Зеева");
 
$ot2 =  clone ($ot);
 print(
$ot->getId() . " " .$ot->getName() . "<br>");
 print(
$ot2->getId() . " " .$ot2->getName() . "<br>"); 

По крайней мере выдает нужный результат. :)


Время: 22:57.

Время: 22:57.
© OSzone.net 2001-