EnterprisePHP – Alpha Release

Преди малко метнах 1вият публичен код на EnterprisePHP в code.google.com ( link ), разбира се проекта е в доста ранен стадии, но ако някой му се занимава да погледне в SVN-то и до колкото разбере от кода, може да даде мнение/идея. Все пак е по добре каквото и да се оправя да се оправя сега на време :)

За момента, съм стигнал основно до DB layer-a на фреймуърка, прегледах доста готови решения и стигнах до следния проблем:

  • не искам да се пишат 6км безмислен XML
  • дефиниции от типа на “мега”-мерни масиви са супер трудни за разбиране и това отпада
  • минимум SQL при нужда от данни от БД, т.е. основно да се работи чрез Objects.
  • без всякакъв вид излишни неща като парсване на SQL query-та на ниво PHP (това е работа на БД сървъра)

Ако някой знае решение отговарящо на тези req, да пише, но аз не намерих. Единствено може да се каже че Propel, попада в тези req, но проблема при него е че малко трудно се свиква с него, генерирането е доста неудобно и всъщност пак има огромни xml schemеs :(

Това е за сега от мен, за 6 часа писане на код е достатъчно :)

ПС: Търсят се тестери и хора на които им се пише докуентация, въпреки че каквито и да са коментари (т.е. има интерес) относно проекта определено ще спомогнат той да има развитие :)

ПС2: Я кажете какъв лиценз бихте ползвали за този проект и кое точно ви устройва в него ?

  • http://www.pixeldepo.com Radoslav Stankov

    Бих ти препоръчал http://www.phpdoctrine.org/ лично на мен доста ми допадна (въпреки че още не съм го тествал на бойното поле ;) ), но изглежда доста добре.

  • http://lpetrov.mylo.bg Lyubomir Petrov

    Преди 4-5 месеца си играх с phpDoctrine, но нещо не ми допадна кои знае колко за това минах на ezPDO, там нещата вървяха добре докато не седнах да правя бенчмарк и се оказа че съм си загубил времето в работа за интегриране на езПДО (на тогавашния) FW, защото резултатите бяха доста кофти. Пробвах обратно phpDoctrine, но започнах с бенчмарк, малко по-добре от ezPDO бяха резултатите, но като цяло и 2те ORM тогава не бяха стабилни за работа :(
    Мерси за коментара, ще гледам да ги прегледам до другата седмица и ще видим, но за сега Алеко е седнал да пише ORM, пък обмисляме идеята за GUI за ОRM ако си виждал някъде нещо подобно което може да ни е от полза сподели :)
    А бтв, чудех се, има ли фреймуърк които ползваш или ти е харесал ? :)

  • http://www.pixeldepo.com Radoslav Stankov

    Ами Rails най-много си ми харесва и като цяло ActiveRecord-a му е страхотен. Но за PHP нещо нищо не ми допада сериозно. За момента главно ползвам едни мой стар фреймуърк за PHP4. Но от доста време подготвям едно малко фреймуърк-че което да е поредния порт на Rails и за момента доста добри резултати имам и почти е готов, лошото е че няма как да го направя да е open-source поне за момента.

  • Lyubomir Petrov

    Да ActiveRecord, спестява писането на SQL Query-та, но защо пък да не спестим и другата част от “черната работа”.
    Имам напредвид, предполагам ти се е налагало да правиш file upload, верификация на файла (примерно image width/height/file size) и т.н.
    Малко е тъпо защото в един момент се получава Copy/Paste на голямо количество код, а като се намери проблем в кода ти става лошо. Ваобще практиката “copy/paste”, не е добра идея.
    Точно за това част от тази логика може да бъде енкапсулирана в ORM-то. Перфектен пример за това което имам напредвид е Django.
    За съжаление, целим да направим фреимуърк които да е лесно deployable, защото това е хубавото при PHP, та python и (er)RoR излязоха от списъка на езиците за уеб, поне за мен :)
    Казано честно бих писъл на C#, но на клиентите ще им излезе доста скъпичко и няма как да се поддържат конкурентни цени ако се пише на каквото и да е създадено от M$ (лично мнение), поне за сега, докато Mono, не стане истинска платформа и повече български хостинг провайдъри помислят за тази идея.
    …стига съм мечтал, ето малко нова информация:
    – Алеко се е заел с ОRM-то, ще “вземем” доста идеи от Django :)
    – Мислех си да драснем и някой real world app, но едва дали ще е скоро, първо ще трябва да изкараме stable release и да си направим малко security tests, защото това е едно от най-важните неща при сериозни приложения.
    – Обмисляме ново име за фреимуърка с Алеко, може би реакцията ми да ми хрумне че ще правим фреимуърк и да го регистрирам беше малко прибързана, та проекта ще бъде с ново име скоро :)

  • Lyubomir Petrov

    А бтв, ние с теб да се познаваме случайно от една олимпияда по ИТ ? :)

  • http://www.pixeldepo.com Radoslav Stankov

    Ами за това и аз си играя сега със една имплементация на ActiveRecord за PHP и специално проблема с файловете го реших на 2 стъпки. 1 имам едни upload helper клас и 2ро имам едни pluging за ActiveRecord-a който го ползва за да ми спести тривялната работа ;)

    п.п. а да познаваме се от олимпиядите по ИТ :)

  • http://mengeme.com boyan

    За идея… в Симфони-то са заобиколили XML-ите с употребата на YML файлове – много удобно е станало. Може да провериш за какво става дума.

  • Lyubomir Petrov

    @boyan: Да YML е по добре от XML, но не мисля че има смисъл за да направиш един прост application да трябва да пишеш на голям брой езици, не може ли просто да се дефинира на PHP :)
    При създаването на един web app/сайт се налага да се използват голям брой езици (технологии) като:
    - server side language (php в нашият случай)
    - sql queries(според БД сървъра)
    - sql triggers и т.н. (според БД сървъра)
    - css (според броусъра)
    - html (според броусъра)
    - javascript (според броусъра)
    Като добавим и някой FW за JavaScript-a и YML, малко се претрупват нещата :)
    За това искам да опростиме броя на езиците и да не се налага да вкл. XML/YML в нашият фреимуърк както е при Пропел и Симфони :)

  • http://kaloyan.info/blog/ Калоян К. Цветков

    Хехе, не сте ли обсъждали Rudolf като алтернатива, или поне нещо произлязло от него? Да не би Алек се е отказал от творението си ;)

  • http://zvuk.net/ Алек

    Rudolf вече еволюира 2 поколения напред и е базиран на code generation. Новият ORM ще бъде включен в проекта, за да му се радваш :)

blog comments powered by Disqus