Скрипты | Партнерские программы | Осторожно! Партнерские программы - кидалы | Поиск партнерских программ по тематике | Хостинг | Купить рекламу! | Лучшие баннерные сети | СD диски и книги для вебмастеров
Заработай!
Партнерская программа для русскоязычных сайтов

BLACK LIST ! Партнерские программы - кидалы

Сервис подбора партнерских программ под тематику Вашего сайта


!!! Список лучших партнерских программ !!!

!!! Лучшие рекламные брокеры Рунета !!!

!!! Продажа ссылок с сайта !!!
 

Реклама

Реклама

Реклама

Реклама


 

 
 

Новое в PHP5

XML и веб-сервисы

Безопасный офис

Защита от копирования и методы ее взлома

История PHP

Корпоративная информационная система

Новое в PHP5

Основные типы данных PHP

Основы языка программирования РНР 5

Программистские байки

Торговая информационная система

Новая объектно-ориентированная модель

Новые объектно-ориентированные особенности

Новый диспетчер памяти

Отказ от поддержки Windows 95

Прочие нововведения в язык программирования PHP5




Когда Зив Сураски (Zeev Suraski) добавил объектно-ориентированный синтаксис в РНР 3, это был лишь «синтаксический подсластитель, облегчающий работу со структурами данных». На тот момент объектно-ориентированная модель поддерживала механизм наследования и позволяла классу (объекту) объединять методы и свойства, но не более того. Позднее, создавая РНР 4, Зив Сураски и Энди Гутмане полностью переписали ядро интерпретатора. Это было совершенно новое ядро, оно работало намного быстрее, стало стабильнее и обладало более широким набором возможностей. Однако реализация объектно-ориентированной модели осталась практически нетронутой.
Однако несмотря на серьезные ограничения парадигма объектно-ориентированного программирования широко применялась при разработке новых, порой весьма объемных, программ на РНР 4. Такое положение дел привело к тому, что при разработке РНР версии 5 основное внимание было сконцентрировано на реализации объектно-ориентированных возможностей языка.
Какие же основные ограничения имелись в РНР 3 и 4? Самая большая проблема (из которой проистекало большинство других) состояла в том, что семантика операции копирования применительно к объектам несла ту же смысловую нагрузку, что и для обычных типов. То есть когда значение указателя на объект присваивалось другой переменной, создавалась полная копия объекта. Это не только снижало производительность программ, но и становилось источником огромного количества ошибоку, поскольку многие разработчики после выполнения присваивания интуитивно продолжали считать, что обе переменные ссылаются на один и тот же экземпляр класса, хотя на самом деле это было далеко не так. Переменные представляли разные копии объекта, а не ссылки на один и тот же объект. Изменение в одной из них не оказывало никакого влияния на другую.
Например:
class Person {
var $name;
function getNameO {
return $this->name; } function setName($name) {
$this->name = $name;
function Person($name) {
$this->setName($nanfie); } }
function changeName($person, $name) {
$person->setName($narce); >
$person = new Person("Andy"); changeName($person, "Stig"); Print $person->getName();
В РНР 4 этот участок кода выведет "Andy". Причина в том, что объект Sperson передается в функцию changeName() по значению, то есть в момент вызова функции создается полная копия объекта $person и функция работает с копией объекта, а не с самим объектом.

Такое поведение интерпретатора не соответствует ожиданиям разработчиков, привыкших работать с Java-подобной объектной моделью, в которой переменные фактически хранят ссылки (или указатели) на объекты. В результате при копировании таких переменных создаются новые копии ссылок на объекты, а не сами объекты.
Программисты, работающие с РНР 4, делятся на два типа - на тех, кто знает об этой неприятности, и тех, кто о ней даже не подозревает. Дело в том, что последние обычно пишут такой код, где она действительно никак не проявляется. Разумеется, рано или поздно некоторые из них сталкиваются с ней и ночей не спят, пытаясь выловить «странные», не встречавшиеся ранее ошибки. Первые же, зная об этой проблеме, всегда передают объекты по ссылке, но читать их код весьма нелегко из-за обилия символов «&».
Прежняя реализация объектной модели не только была источником упомянутых выше проблем, но и препятствовала реализации новых возможностей поверх существующей модели.
В результате вся инфраструктура объектной модели в РНР 5 была полностью переписана так, чтобы все действия производились со ссылками на объекты. Теперь полная копия объекта может создаваться только с помощью явного указания ключевого слова clone (иначе создать полную копию объекта в РНР 5 просто невозможно) и программист уже не должен постоянно помнить о ссылках на объекты при копировании - все это делается автоматически.
Примечание
По-прежнему допускается передача объектов по ссылке, их копирование и модификация с применением устаревшего синтаксиса.



 

Реклама и информация
На любом этапе - авторегистрация в каталогах (1700 каталогов)

Оптимизация рекламы на сайте - путь к удвоению Ваших доходов!

Последовательность вебмастерской работы (краткая памятка):

1. Заказать и прочесть необходимые книги, тематические CD-диски, курсы, программное обеспечение веб-дизайна и веб-строительства

2. Зарегистрировать домен и купить хостинг

3. Приобрести и установить необходимые скрипты (опция)

4. Для быстрой раскрутки сайта прикупить рекламу (опция)

5. Вступить в баннерные сети по тематике сайта

6. Вступить в партнерские программы по тематике сайта

7. Производить регулярно обновления, совершенствовать дизайн и программную начинку сайта, получать доходы от партнерских программ, обмениваться ссылками и т.п.


Полезности

   

                           На главную страницу сайта

   



Rambler's Top100