ООП мечти!

28 отговора 1402 прегледа
#1

ООП мечти!

Търся нещо по-адванцед за ООП и ПХП.
Мисълта ми е някаквъ туториал където да се говори повече за класове, обекти, инстанции и как тези неща живеят в апликацията. Модели за сериализация, object-mapping и т.н
Естествено ако някой от тук постващите ГУРУ-та е склонен да сподели попвече информация ще съм му задължен.

Отговор
в отговор на Пeнчo #2

Re: ООП мечти!

само да не се окажат наистина мечти

кажи какво по-точно търсиш, ако си MVC евангелист, виж phppatterns.com и рагледай линковете (предимно за ООП са), както и прочети от phparch.com - Industrial Strength MVC, където е даден пример за фреймуърк, използващ adodb, smarty, phrame & eclipse
предимно за ООП се говори тук [линк]

btw надявам се, че знаеш какво правиш и искаш, т.е. ООП функционалността на ПХП не е такава, като в Джава (примерно), а и нещата не са такива, каквито би очаквал да са (особено при MVC, тъй като нямаш никакъв "живот" на сесия, променливи и т.н. във виртуална машина - целия стейт се лоадва и зачезва на всеки call, а сесийките са си файлчета - MM shared сесийте се оказва, че не работят като хората, а 3rd party session server-а още никакъв го няма)
та исках да ти кажа, че трябва "да си простираш краката според чергата, PHP-то де ;)" и да не се опитваш да правиш неща, за които езика не е предназначен - той предоставя доста други възможности, които пък другите езици ги нямат (смарти-то само по себе си е много показателен пример)

нещата няма да се оправят генерално и с PHP5, т.е. там класовете и обектите ще се държат доста по-нормално от сега, но другото ...

евентуално се очаква PHP6 да е това, което един "джава" програмист би очаквал - а именно очаква се Perl6, Python & PHP6 да ползват Parot виртуалната машина, която е в много ранен стадий на разработка (наскоро гледах тестове на php.weblogs.com - още един хубав сайт)
Generating a Mandelbrot fractal
– PHP, 2.4 seconds
– PHP-Hacked, 1.2 seconds
– Parrot without JIT, 0.5 seconds x1.5 = .75
– Parrot with JIT (Intel), 0.08 seconds x1.5 = .12

---тук е добавката при редакция ----
забравих да кажа, че факта, че ти отговарям, не означава че съм гуру
просто споделям моето мнение по въпроса, предполагам може ...

Редактирано от AcidMemory на

Отговор
в отговор на AcidMemory #3

Re: ООП мечти!

евентуално се очаква PHP6 да е това, което един "джава" програмист би очаквал

ще стане мазало и ще се появи нов много лек скипт език за уеб.

-----------------------
гърбавия, ковчег ще го изправи
Отговор
в отговор на AcidMemory #4

Re: ООП мечти!

Много благодаря!
Просто не съм пипал това животинче и сега ми е интересно за какво става въпрос. Попаднах на един (CMS)проект и това което ме заинтригува е факта, че е ООП (поне така пише...!!!).
Разгледах го и се хванах да видя какво пише по дебелите книги за ПХП и ООП, но това което намерих естествено не ми се видя достатъчно......!!!

П.П Определено съм фен на MVC, без с това да предизвиквам асоциации у JAVA програмистите...!!!!

Отговор
в отговор на Пeнчo #5

Re: ООП мечти!

vij [линк]

Отговор
в отговор на Пeнчo #6

Re: ООП мечти!

заеби тва, че споменах джава програмистите, просто повечето книги, които имам за дизайн петърнс са за джава ... а и ПХП клони в ООП-то към джава, а не към Ц++ - та затова, не е нещо лично ...

Отговор
в отговор на AcidMemory #7

Re: ООП мечти!

Няма проблем!
Между другото това е факт. Повечето от материалите са десигнпаттернс са за JAVA.

Отговор
в отговор на Пeнчo #8

Re: ООП мечти!

мдаам, предполагам имам почти всички хубави книжки в тази област (а и не само тази), но просто нямам физическата възможност да ги изчета всичките ...

Отговор
в отговор на Пeнчo #9

Re: ООП мечти!

така де, с малко уточнение, че първата книга по въпроса има примери на C++ и Smalltalk. дай малко примери за тия твои "повечето"

Отговор
в отговор на Пeнчo #10

Re: ООП мечти!

MVC идва от Smalltalk средите! кви джави бе?

Отговор
в отговор на Пeнчo #11

Re: ООП мечти!

и ако някой ми обясни за чий уй са им интерфейсите в динамичен език като пхп... баси малоумието.

бих приел интерфейси в недомислени езици със статични типове дето трябва да казваш, че чакаш обект дето да отговаря на дадени съобщения... ама за какво ми е това в езици, където мога да пратя всякакво съобщение на всеки обект. да има интерфейси в Smalltalk, Python, Ruby?

и аз си мисля, че опита да се имитира джава само ще осере езика. баси само exceptions липсват на тва което си го има и в момента.

Редактирано от Mycлoн на

Отговор
в отговор на Mycлoн #12

Re: ООП мечти!

ами то в ПХП5 ще си има exceptions, а за статични типове - ще има т.нар. type hints, което ще е като параметър с фиксиран тип данни (т.е. няма да се приеме друг, освен посочения в декларацията)

а за чий уй са им интерфейсите ... PHP Group прави това, което иска PHP Community ... тва е (а ПХП-то се слави с лесен за научаване език .... не ща нищо да намеквам )

мене ми стигаше да оправят само copy и reference-ването на обектите и някои други малки недомислици ...

но има и друга страна - зенд трябва и пари да изкарват , така че и доста желани неща са лееко "пропуснати"
connection pooling се искаше още откак се помна ... верно има SQL Relay, ама ...
ако ПХП не отиде в посока към Parrot VM, а остане със зенд engine-а, няма да се учудя в бъдеще да излезне продукт с евентуално име "Zend Application Server"

Отговор
в отговор на AcidMemory #13

Re: ООП мечти!

съгласен съм за копирането и референсването - друг рендосващ момент дето спъва хората идващи от остро Ц и джава среди... то айде слагаме амперсанд и получаваме референс ама като гледам какви магии трябват, че да върнеш референс от функция - оамперсандя ти се целия файл :(

за апликейшън сървър си мечтая и аз. чудя се дали не може да се получи нещо подобно с FastCGI. там нали апликацията остава жива между заявките. само трябва да внимаваш с пуловете от процеси хехе. ще проуча като спре да ме мързи, така или иначе бих искал да пробвам уеб дебелопмънт с нормални езици като python или ruby. да, знам за mod_python и mod_ruby ама и те са като пхп-то... няма състояния м/у заявките.

колкото до паррот-а -- не се ли бави вече прекалено хехе сигурно някой ще ми каже, че ще ми върне всичките пари, които съм дал за паррота, че и в десеторен размер

Отговор
в отговор на Mycлoн #14

Re: ООП мечти!

за FastCGI и аз съм си мислил, но не зная дали пак ще свърши работа за пулинг-а, то и апач процесите са много и не знаеш в кои ще попаднеш, та предполагам и чакащите пхп процеси са много и не е ясно в кой ще попаднеш, за да използваш отново ресурса, тъй че ... едва ли

според мене варианта си е sqlrelay.sourceforge.net, но просто трябва да го включат и в библиотеки като ADOdb или PEAR:DB

python и ruby са в голяма война, но според мен сбъркаха с питона, че го направиха като руби (то си личи де, много хора още си ползват стария ...)

а за парота, да не би да си се надявал там на некви бързи постижения , но идейката си е добра, ако си чел линковете, които съм постнал преди, ще видиш, че уж Perl, Python & PHP ще се насочат натам, но не е ясно дали ще са истинските или форкнати проекти вече - JIT compiler-а си е JIT compiler

Отговор
в отговор на AcidMemory #15

Re: ООП мечти!

що пък война на питон и руби :) повече се дъвчат май за перл срещу питон.

питона наистина е много приятен език, ама рубито с тия блокове няма надминаване... леле майко

Отговор
в отговор на Mycлoн #16

Re: ООП мечти!

амииии ... сега ще ти изровя да видиш кво става просто ...

[линк]

руби се дразнеха с питон, че не са чисто обектноориентирани, нямали това, нямали онова ... и после 2+ версиите можеха всичко като руби - абе простотия

ето ти един типичен пример, как, моля ти се, числата (като обекти) нямали методи, ама как може такова нещо ...

[линк]

Отговор
в отговор на AcidMemory #17

Re: ООП мечти!

вярно. явно съм останал с това впечатление от comp.lang.python, където много често се появяваше въпрос в стил "тва на перл се прави на 1 ред - може ли на питон пак така?"

Отговор
в отговор на Mycлoн #18

Re: ООП мечти!

Прекрасна тема, доста интересни неща си маркирах относно оопето с пхп... благодаря ви за интересния диалог :)

ПП. поддържам тезата че най-куцото в момента са амперстандите. Мисля си че try catch throw finally и exception ще са доста полезни ...

Отговор
в отговор на q #19

Re: ООП мечти!

не пропускай факта, че се занимавам с пхп от няколко месеца и се започна по неволя... после ми хареса ( от 1 път не се става педераст нали :) ).

та тия мои мрънканици за амперсандите и изключенията може да са плод на мои опити да пиша пхп с модели от други езици, което не е много препоръчително. хе, та аз искам и да се махне процедурното от езика :) всички самотни функции, които не са методи на клас - на сапун

искам и еквивалента на пакетите на джава и неймспейсовете и асемблитата на .НЕТ. тва май ще го има в пхп5 така или иначе.

Отговор
в отговор на Mycлoн #20

Re: ООП мечти!

тц, неймспейсовете ги отебаха - проблемна е реализацията

все пак спецификата и на двата езика е доста различна, пхп-то има прекалено динамична структура - по тази причина и казаха, че няма да има ПХП към дотнет-а

Отговор