Qcodo

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Qcodo Developement Framework je open-source framework založený na PHP 5, který z existujícího datového modelu vytváří Objektově relační model (ORM), CRUD UI stránky a AJAX hooks. Také obsahuje integrovaný HTML a Javascript toolkit, který přímo pracuje s vygenerovanými entitami. Je to "lehký" framework, který může být užitý pro vývoj malých i velkých webových aplikací.

Vlastnosti

Podporuje databáze MySQL, MSSQL a PostgreSQL. Do databáze přistupuje prostřednictvím ORM. +more Obsahuje moduly pro generování kódu. Ihned po instalaci máme možnost nechat si vygenerovat všechny modely, kontrolery a pohledy. Pohledy jsou tvořeny převážně PHP kódem doplněným HTML tagy. Qcodo má velmi jednoduchou instalaci. Po rozbalení je potřeba nakonfigurovat soubor includes/configuration. inc. php, kde se nastavují cesty, url a databáze. Čistě pro PHP 5 (užívá objekty dle PHP 5).

Popis součástí a funkcionality

Framework se skládá ze tří hlavních komponent: Generátoru kódu, Qforms (OOP generovaný Ajaxový, nebo na serveru generovaný formulář), Qquery (na OOP založený SQL builder), přičemž každá lze použít nezávisle na ostatních. Generátor kódu parsuje existující relační databázovou strukturu a vytváří ORM, stejně jako několik vzdálených interface (SOAP, AJAX) k ORM. +more V Qcodo může být ORM rozšířeno tak, aby poskytovalo uživatelem definované funkcionality (přes objektové sub-classing). Qforms je dot-Netem inspirovaný šablonový jazyk, ve kterém je každý prvek formuláře objekt, který skrze metody a atributy zobrazuje svou funkcionalitu a stav.

Generování

Pro generování definujeme tabulky, klíče a jejich vztahy, z toho code generator tvoří ORM třídy (modely) , takto vygenerované třídy podporují CRUD .

Qforms : obsluhují stránku, formuláře a obsahuje metody k validování polí, tvorbě trigger events a asociované volání AJAX. Qforms úzce navazují na ORM, což umožňuje programovat rychle, iterativně a s malým dopadem na ostatní prvky měnit každý z tří prvků architektury MVC. +more Qforms oddělují aplikační logiku od funkční, používají čistě jazyk PHP. V tomto případě tedy Qforms fungují jako view a třída jako controller k formuláři. Umožňují práci s vícejazykovými stránkami. V jejich případě se vygeneruje se soubor, který slouží pro překlady a to jak pro výrazy, tak pro celé články.

Qcontrols : je architektura řízená událostmi, lze do ní přidat i javascriptové události.

QPM - Qcodo : balíčkový manager byl představen spolu s Qcodo verzí O,40, jeho cílem je umožnit uživatelům a členům komunity přímější a úspornější cestu ke sdílení modulů, vylepšení a fixů Qcodo Developement Frameworku.

Databázový model

Generátor využívá tabulky, které mají primární klíč, z nich vygeneruje třídy, metody etc. Sám rozeznává vztahy mezi tabulkami. +more Tvoří pomocné tabulky pro spolupráci mezi navázanými tabulkami. Tvoří metody pro propojení tabulek se vztahem many X many. Generátor vytváří code DRAFT nichž extendováním vytvářím vlastní formuláře. Při uložení formuláře do databáze se automaticky ukládá datum a čas.

Qcodo Query

- Je to vlastní jazyk pro získávání modelů z DB - V Qcodo Lze ale používat i SQL selecty - V současnosti vývojáři pracují na cachování často používaných selectů, avšak ještě nejsou implementované všechny funkcionality, např. vnořené selecty

Ukázky zdrojového kódu

Užití Qforms

Kód ukazuje vytvoření několik objektů Qcontrol (Qlabel a Qbutton) a přiřazení textu v nich. Také přiřazuje událost QclickEvent tlačítka k QserverAction. +more Tato akce (která je metoda PHP) jednoduše změní popisek, aby obsahoval text „Hello, World. “. Všechny objekty Qform používají soubor HTML include. , v tomto případě definujeme HTML v souboru intro. tpl. php Pro užití správných tagů slouží metody RenderBegin a RenderEnd, stejně jako pro další HTML a JavaScript, díky kterému QForm funguje správně. (Qcodo vrátí výjimku, pokud nejsou volány RenderBegin i RenderEnd. ).

Render in its HTML template include file. // You can see this call being made in the intro. +moretpl. php file. (As you get into more complex forms, // you may have QControl objects who's parents are other QControl objects. ) $this->lblMessage = new QLabel($this); $this->lblMessage->Text = 'Click the button to change my message. '; // Define the Button $this->btnButton = new QButton($this); $this->btnButton->Text = 'Click Me. '; // Add a Click event handler to the button -- the action to run is a ServerAction (e. g. PHP method) // called "btnButton_Click" $this->btnButton->AddAction(new QClickEvent, new QServerAction('btnBut ton_Click')); } // The "btnButton_Click" Event handler protected function btnButton_Click($strFormId, $strControlId, $strParameter) { $this->lblMessage->Text = 'Hello, world. '; } } // Run the Form we have defined // The QForm engine will look to intro. tpl. php to use as its HTML template include file ExamplesForm::Run('ExamplesForm'); . >.

zdroj: http://examples.qcodo.com/examples/basic_qform/intro.php

Další informace

Qcodo byla koncipována a vyvinuta Mikem Ho, a jeho společností Quasidea, která zároveň působí jako ústřední správce, který nabízí nové funkce a zprávy prostřednictvím Qcodo webových stránek www. qcodo. +morecom.

Nasazení

Framework je zralý a byl nasazen v mnoha prostředích, například předních sociálních sítí, webů organizací z Fortune 500, ale i státních institucích.

NASA Online Projekt - informační systém

NASA online hledání života

Stanford University School of Medicine

Uloop, největší na studenty zaměřený inzertní server

Chess.com, největší na šachy zaměřená sociální sít

Framework byl prezentovaný na mnoha konferencích po celém světě, včetně Zend/PHP konference, konferenci uživatelů MySQL, MySQL Dev zóny [6], AjaxWorld konference, EXPO, a DC PHP. Byl stažen více než 250 000 tisíci uživateli, z více než sto zemí. +more Odhaduje se, že Qcodem řízené aplikace ročně obslouží více než 100 milionů zobrazení za měsíc.

O dokumentaci

Dokumentace patří mezi problémy tohoto frameworku, je poměrně nepřehledná, špatně se v ní orientuje a je neobsáhlá. Skládá se především z vzorových příkladů s kompletním zdrojovým kódem, čímž částečně kompenzuje své nedostatky. +more U každého příkladu vidíme jak se přesně zobrazují, ale je zde také dobře okomentovaný zdrojový kód. Příklady vhodně zobrazují jednotlivé funkcionality, které Qcodo zvládá, proto se z nich lze mnoho naučit.

Externí odkazy

[url=http://www. qcodo. +morecom/]Oficiální stránky[/url] * [url=http://www. root. cz/clanky/velky-test-php-frameworku-fuse-prado-a-qcodo/]Srovnání frameworků na webu Root[/url] * [url=https://video1. fit. vutbr. cz/index. php. record_id=5815&categ_id=340]Video z přednášky o Qcodo Frameworku (slovensky)[/url].

Kategorie:Webové aplikační frameworky

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top