From 654a9cae43358c7eecf3b522e9876aa7815e2453 Mon Sep 17 00:00:00 2001
From: Fabio Bas
-Complete source code of this demo can be found in the PRADO release. You can also try the online demo. +Complete source code of this demo can be found in the PRADO release. You can also try the online demo.
diff --git a/demos/quickstart/protected/pages/GettingStarted/Installation.page b/demos/quickstart/protected/pages/GettingStarted/Installation.page index f59eed70..5280d25b 100755 --- a/demos/quickstart/protected/pages/GettingStarted/Installation.page +++ b/demos/quickstart/protected/pages/GettingStarted/Installation.page @@ -15,7 +15,7 @@ PRADO can be installed as a standalone package or using-Das Quicktstart tutorial soll Sie bei der Erstellung einer PRADO 3.x-basierten Webanwendung unterstützen. -
--Wenn Sie bereits PRADO 3.x nutzen und herausfinden möchten welche Verbesserungen und neuen Funktionen mit welcher Prado-Version unterstützt werden, besuchen sie die Neue Features-Seite. -
- - --Nutzen Sie auch die folgenden Ressourcen, wenn dieses Tutorial ihre Fragen nicht hinreichend beantwortet: -
--PRADO es una capa de programación (framework) basada componentes y programación dirigida por eventos, para desarrollos de aplicaciones Web en PHP 5. Las siglas PRADO significan en español Desarrollo Rapido de Aplicaciones con Programación Orientada a Objetos en PHP (PHP Rapid Application Development Object-oriented). -
--El principal objetivo de PRADO es utilizar al máximo la reutilización en la programación Web. Por reusabilidad, queremos decir no solamente reutilizar el código propio, si no el de otros programadores de una manera fácil. Lo último dicho es más importante, ya que evita el esfuerzo de reinventar nuevamente la rueda y además posibilita disminuir notablemente los tiempos de desarrollos. La introducción al concepto de componentes tiene este propósito. -
--Para alcanzar el propósito mencionado, PRADO estipula un protocolo para escribir y usar componentes para construir una aplicación Web. Un componente es una pieza de programa que es autocontenido (self-contained) y puede ser reutilizado con una mínima personalización del mismo. Nuevos componentes pueden ser creados por una simple composición de componentes existentes. -
--Para facilitar la interacción con componentes, PRADO implementa el paradigma de la programación dirigida por eventos (event-driven) que permite la delegación de comportamientos extensibles a los componentes. -Las actividades de los usuarios finales, tales como hacer clic en un botón de un formulario, son capturados como eventos en el lado del servidor (server events). -Metodos o funciones deben ser enlazadas a dichos eventos de tal manera que cuando los eventos sucedan, estos son invocados automáticamente para responder a dicho evento. Comparado con la programación Web tradicional en la cual los desarrolladores tienen que tratar directamente (raw) con las variables de arreglo POST y GET, la programación dirigida por eventos ayuda a los desarrolladores enfocarse mejor en las necesidades lógicas y reducir significativamente el código de bajo nivel repetitivo (low-level repetitive coding). -
--En resumen, desarrollar aplicaciones Web con PRADO principalmente involucra instantáneamente tipos de componentes predesarrollados, configurarlos mediante sus propiedades, responder a sus eventos escribiendo funciones manipuladoras de los mismos , y agrupándolos (composing them) dentro de paginas para la aplicación. Es muy similar al Kit de herramientas RAD de Borland Delphi y Microsoft Visual Basic, que son utilizadas para desarrollar aplicaciones (Interfaces Graficas de Usuarios, GUI) de escritorio. -
- --PRADO es comúnmente citado como una plataforma de programación (framework) única. En realidad es tan único que puede convertir una tediosa y aburrida tarea de programación en PHP en una tarea divertida (fun task). La siguiente lista es un pequeño resumen de las características principales de PRADO, -
--PRADO es mejor adecuado para la creación de aplicaciones Web que tienen alta interactividdad con usuarios (user-interactive). Se puede utilizar para desarrollar sistemas tan simple como un blog o para aquellos sistema tan complejo como un sistema de gestión de contenidos (CMS) o una completa solución de comercio electrónico. PRADO promueve la programación orientada a objetos a través de su metodología basada en componente , se ajusta muy bien para el trabajo en equipo y el desarrollo empresarial. -
--PRADO viene con un conjunto completo de técnicas de caching que ayudan a acelerar las aplicaciones Web PRADO y acomodar el tráfico de alta exigencia. Su arquitectura modular permite a los desarrolladores el uso o icorporar (plug-in) diferentes módulos de caché de memoria para diferentes necesidades. La salida de caché permite elegir selectivamente el caché de las paginas webs generadas. -
- --PRADO es a menudo citado como un framework único. Su singularidad radica principalmente en el paradigma de la programacion basada en componentes (component-based) y dirigida a eventos (event-driven) que pretende promover. Aunque este paradigma de programación no es nuevo en programación de aplicaciones de escritorio y no en una nueva web de algunos lenguajes de programación, PRADO es quizás el primer framework PHP que lo lleva a cabo. -
--La mayoría de frameworks de PHP principalmente se centra en separar la presentación y la lógica y promueve el patrón de diseño MVC (modelo-vista-controlador) . PRADO logra el mismo objetivo, naturalmente, al exigir que la lógica se almacena en las clases y la presentación en las plantillas. PRADO hace mucho más en otros aspectos distintos de MVC. Se llena de mucho espacio en blanco en la programación web en PHP, con su paradigma de programacion basada en componentes, la riqueza de su conjunto de controles Web, sus potente soporte de bases de datos, su flexible manejo de errores y registro de mensajes, y muchos otros. -
- --Sí. PRADO inicialmente fue liberado en agosto de 2004. Muchas series de ensayos se han escrito y realizado con frecuencia para asegurar su calidad. Se ha utilizado por miles de desarrolladores y muchas aplicaciones Web se han desarrollado sobre la base de la misma. Bugs y peticiones se gestionan a través del sistema TRAC y tenemos una gran comunidad de usuarios y el equipo de desarrollo para asegurar que todas las preguntas se respondan en forma oportuna. -
- --La propia inspiración original de PRADO vino de Apache Tapestry. Durante el diseño y la ejecución, me tome prestadas muchas ideas de Borland Delphi y Microsoft ASP.NET. La primera versión de PRADO salió en junio de 2004 y fue escrita en PHP 4. Impulsado por el concurso de codificación de Zend PHP 5 , re-escrbí PRADO en PHP 5, que resultó ser una sabia decisión, gracias al nuevo modelo de objetos proporcionados por PHP 5. PRADO ganó el gran premio en el concurso Zend, ganando el más alto de votos del público y los jueces del panel. -
--En agosto de 2004, PRADO comenzó a ser alojado en SourceForge como un proyecto de código abierto. Poco después, el sitio del proyecto xisc.com se anunció para el orden público. Con el fantástico apoyo del equipo de desarrolladores PRADO y usuarios PRADO, PRADO evolucionado a la versión 2,0 a mediados de 2005. En esta versión, Wei Zhuo contribuyó en PRADO con el excelente I18N y L10N apoyo. -
--En mayo de 2005, se decidió re-escribir por completo el framework PRADO para resolver algunas cuestiones fundamentales que se encuentran en la versión 2.0 y para ponerse al día con algunas geniales características disponibles en Microsoft ASP.NET 2.0. Después de casi un año de arduo trabajo con más de 50.000 líneas de nuevo código, la versión 3.0 fue finalmente puesta a disposición en abril de 2006. -
--A partir de la versión 3.0, importantes esfuerzos se asignan a asegurar la calidad y la estabilidad de PRADO. Si decimos PRADO v2.x y v1.x son prueba de concepto de trabajo, podemos decir PRADO 3.x ha crecido a un proyecto que es adecuado para un negocio serio el desarrollo de aplicaciones. -
--Su usted esta viendo esta pagina desde su explorador Web, usted ha ya realizado la instalación. -
--Los requerimientos minimos por PRADO, son que el servidor Web soporte PHP version 5. PRADO ha sido probado con el servidor Web Apache en las plataformas Windows y Linux. Existen muchas probabilidades de que tambien pueda correr en otras plataformas con otros servidores Webs siempre y cuando estos soporten PHP 5. -
--La instalacion de PRADO, consiste principalmente en descargarlo y descomprimirlo. -
--Su instalacion de PRADO esta lista y usted puede comenzar a probarlo con las aplicaciones de demostraciones incluidas en la pulicacion de prado a travez de la URL http://web-server-address/prado/demos/. Aqui asumimos que PRADO esta descomprimido en la subcarpeta prado que se ecnuentra debajo de DocumentRoot del servidor Web. -
--Si encuentra algun problema con las aplicaciones demostrativa de PRADO, utilice por favor el script de chequeo de requerimientos que viene con PRADO , accesible desde http://web-server-address/prado/requirements/index.php, para comprobar primeramente si la configuracion de su server cumple con las condiciones requeridas por PRADO. -
-Este tutorial rápido se presta a ayudarle rápidamente a empezar a construir tu propia web aplicaciones basadas en PRADO versión 3.x. -
-Si ya es usuario PRADO 3.x y me gustaría saber qué mejoras están disponibles para cada nueva versión, por favor, consulte las nuevas características . De lo contrario, las siguientes secciones son útiles para novatos. -
- -Conceptos y fundamentos
- -Más ejemplos en Controles Estándard, - Controles de validación and - Controles de Datos. -
- -
-Usted podrá hacer referencia a los siguientes recursos si usted encuentra que este tutorial no cumple con todas sus necesidades. -
--PRADO est un framework de programmation évènementielle basé sur des composants pour développer des applications Web en PHP5. PRADO signifie PHP Rapid Application Development Object-oriented. -
--Le but principal de PRADO est la réutilisation maximale de code dans la programmation Web. Par réutilisation, cela ne se limite pas à son propre code mais aussi celui d'autres développeurs, de manière la plus aisée possible. Cela est très important car cela évite de réinventer la roue et peut donc réduire de façon significative le temps de développement. L'introduction du concept de composant provient de cela. -
--Afin de parvenir au but ci-dessus, PRADO stipule un protocole d'écriture et d'utilisation des composants afin de construire des applications Web. Un composant est une brique logicielle qui peut être réutilisée avec quelques modifications. De nouveaux composants peuvent ainsi être construits en utilisant des composants existants. -
--Afin de faciliter l'intéraction avec les composants, PRADO implémente une programmation évènementielle qui permet la délégation des comportements aux composants. Les actions des utilisateurs comme le click sur un bouton de type submit sont capturées comme des évènements serveurs. Des méthodes ou fonctions peuvent être attachées à ces évènements et lorsque l'évènement se produit, elles sont automatiquement invoquées afin de répondre à ces même évènements. Comparé à la traditionnelle programmation Web où les développeurs doivent utiliser les variables POST ou GET, la programmation évènementielle aide les développeurs à se consacrer à la logique et réduit de façon significative le code répétitif. -
--Développer une application Web avec PRADO se résume à instancier des composants existants, les configurer en définissant leurs propriétés, leur affecter des fonctions répondants à ces mêmes évènements, et ainsi composer les pages de l'application. Cela est très similaire aux développants à l'aide de RAD, comme Borland Delphi et Microsoft Visual Basic, qui sont utilisés pour développer des applications GUI. -
- --PRADO est le plus souvent cité comme un framework unique. En fait, il est tellement unique qu'il peut changer votre programmation PHP en une tâche amusante. La liste suivante est un rapide résumé des principales fonctionnalités de PRADO, -
--PRADO est le plus adapté pour des applications Web très interactives. Il peut être utilisé pour développer des systèmes simples comme un blog, ou complexes comme un système de gestion de contenu (CMS), ou une solution complète de e-commerce. Puisque PRADO est basé sur une programmation orientée objet à travers sa méthodologie de composants, il convient particulièrement bien pour le travail en équipe et le développement d'entreprise. -
--PRADO intègre un système de cache complet qui peut aider les applications à tenir des charges de traffic élevées. Son architecture modulaire permet aux développeurs d'utiliser des modules de cache différents pour chaque besoin. Le cache peut s'effectuer sur toute ou partie d'une page Web. -
- --PRADO est souvent cité comme un framework unique. Sa particularité est principalement liée à la gestion des composants et à la programmation évènementielle qu'il essaie de promouvoir. Bien que ce paradigme ne soit pas nouveau dans la programmation d'application GUI, PRADO est peut-être le premier framework PHP à l'intégrer. -
--La plupart des frameworks PHP se focalise principalement sur la séparation des couches de présentation et de la logique en utilisant le design pattern MVC (Model-Vue-Contrôleur). PRADO atteint le même but en imposant que la logique se situe dans des classes et la présentation dans des templates. PRADO fait beaucoup plus sur d'autres aspects que le MVC. Il comble des manque dans la programmation PHP avec son modèle de composants Web riches, son support robuste des bases de données, sa gestion d'erreur flexible et beaucoup d'autre... -
- --Oui. Le projet PRADO a débuté en août 2004. Beaucoup de tests unitaires ont été écrits et fréquemment éxecutés afin d'assurer sa qualité. Il a été utilisé par des milliers de développeurs et beaucoup d'applications sont basés sur celui-ci. Les bugs et les demandes de fonctionnalités sont gérées à travers le système TRAC, nous avons une grande communauté d'utilisateurs et une équipe de développement afin d'assurer que toutes les questions sont répondues en un temps record. -
- --L'inspiration originale de PRADO vient de Apache Tapestry. Pendant le design et l'implémentation, j'ai emprunté beaucoup d'idées de Borland Delphi et Microsoft ASP.NET. La première version de PRADO a vue le jour en juin 2004 et était écrite en PHP4. Conduit par le concours de codage de Zend, j'ai réécrit PRADO en PHP5, qui est un changement majeur grâce au nouveau modèle objet fourni par PHP5. PRADO a remporté le grand prix du concours grâce aux votes du public ainsi que du jury. -
--En août 2004, PRADO a commencé à être hébergé sur SourceForge en projet Open Source. Peu après, le site du projet xisc.com a été annoncé au public. Grâce au fantastique support de l'équipe de développement et des utilisateurs de PRADO, PRADO a évolué en version 2.0 mi 2005. Dans cette version, Wei Zhuo a contribué à PRADO avec le support I18N et L10N. -
--En mai 2005, nous avons décidé de réécrire complètement le framework PRADO afin de résoudre quelques problèmes trouvés dans la version 2.0 et ajouter des fonctionnalités disponibles dans Microsoft ASP.NET 2.0. Après près d'un an de dur labeur et 50.000 lignes de nouveau code, la version 3.0 était finalement disponible en avril 2006. -
--Au démarrage de la version 3.0, des efforts significatifs ont été fournis afin d'assurer la qualité et la stabilité de PRADO. Si PRADO v2.x et v1.x sont la preuve du concept, nous pouvons affirmer que PRADO v3.x est un projet qui est désormais adapté pour le développement d'applications métiers. -
-Le script optionnel prado-cli.php du répertoire framework est un outil en ligne de commande destiné à éxecuter certaines tâches dans PRADO. -Le script prado-cli.php peut être utilisé pour créer le squelette de projet PRADO, des fichiers tests et accéder à un shell interactif PHP. -
--Afin d'utiliser l'outil en ligne de commande, vous aurez à utiliser une console. De plus, PHP doit être capable d'éxecuter des scripts en ligne de commande. -
- --Si vous tapez php chemin/vers/framework/prado-cli.php, vous devez voir les informations suivantes. Alternativement, si vous n'êtes pas sous Windows, vous pouvez essayer de transformer le fichier prado-cli.php en un éxecutable
-Les <parameter> sont les paramètres requis et [optional] -désignent les paramètres optionnels.
- -Afin de créer un squelettre de projet PRADO, suivez les instructions suivantes :
--Le shell interactif vous permet d'évaluer des scripts PHP directement en ligne de commande. -Le script prado-cli.php peut être utilisé pour démarrer le shell et charger un projet PRADO existant. -Par exemple, chargons le projet de démo blog. En supposant que votre console se situe actuellement dans le répertoire prado de la distribution, tapez : -
-
-
-Dans cette partie, nous allons vous guider afin de créer votre première application PRADO, la fameuse application "Hello World". -
--"Hello World" est peut-être l'application PRADO la plus simple et interactive que vous pouvez créer. Cela affiche une page avec un bouton où il est affiché Click Me. Lorsque l'utilisateur clicke sur la bouton, il est affiché Hello World. -
--Il y a plusieurs approches afin d'arriver au but ci-dessus. On peut envoyer la page au serveur, vérifier le contenu de la variable POST, et générer une nouvelle page avec le texte du bouton modifié. On peut également simplement utiliser du javascript afin de mettre à jour le libellé du bouton après l'évènement onclick. -
-
-PRADO privilégie une programmation évènementielle basée sur des composants. Le bouton est représenté par un objet TButton. Celui-ci comprend le libellé du bouton en tant que propriété Text et associe l'évènement "click" avec un évènement serveur OnClick. Afin de répondre à l'action de l'utilisateur sur le click du bouton, il suffit simplement d'attacher une fonction à l'évènement OnClick du bouton. Dans cette fonction, la propriété Text est modifiée en "Hello World". Le diagramme suivant image la séquence ci-dessus :
-
-
-Notre application PRADO sera composée de trois fichiers, index.php, Home.page et Home.php, qui sont organisés de la façon suivante :
-
-
-où chaque répertoire est expliqué comme suit. Notez que la structure des répertoire peut être personnalisée. Par example, le dossier protected peut se trouver hors du répertoire Web public. Vous saurez comment faire à la suite de ce tutorial.
-
-Les trois fichiers dont nous avons besoin sont expliqués comme suit. -
--L'application is maintenant prête et est accesible à l'adresse -The application is now ready and can be accessed via: http://Web-server-address/helloworld/index.php, en supposant que helloworld soit directement sous la racine de votre serveur. Essayez de modifier le TButton de la page Home.page en TLinkButton et voyez ce qui se produit. -
--Le code source complet de cette démonstration peut être téléchargé dans la release de PRADO. Vous pouvez également essayer la démonstration en ligne. -
--Si vous voyez cette page à partir de votre serveur Web, c'est que l'installation s'est déjà bien déroulée. -
--La configuration minimum requise par PRADO est que le serveur Web supporte PHP 5. PRADO a été testé avec un serveur Apache sur une platforme Windows et Linux. Il est fort possible qu'il fonctionne avec d'autres platformes avec d'autres types de serveurs Web tant que PHP 5 est supporté. -
--L'installation de PRADO se résume principalement au téléchargement et à la décompression des sources. -
--Votre installation de PRADO est terminée et vous pouvez commencer à utiliser les applications de démonstration incluses dans PRADO avec l'URL http://web-server-address/prado/demos/. Ici nous supposons que PRADO est décompressé dans le sous-répertoire prado sous le répertoire racine du serveur Web. -
--Si vous rencontrez un problème avec les applications de démonstration, merci d'utiliser le script de vérification des pré-requis de PRADO, accessible à l'adresse http://web-server-address/prado/requirements/index.php, afin de vérifier que votre configuration réponds bien aux exigences de PRADO. -
--Ce tutorial est destiné à vous aider rapidement à créer votre propre application Web basée sur PRADO version 3.X. -
--Vous pouvez vous réferrer aux ressouces suivantes si vous trouvez que ce tutorial ne correspond pas à vos besoins. -
--Cette page résume les principale fonctionnalités introduites dans chaque version de PRADO. -
- --PRADO v3.0 n'est pas rétro-compatible avec les versions précédents de PRADO. -
--La bonne nouvelle est que les propriétés et que les évènements de la plupart des contrôles restent identiques ainsi que la syntaxe des templates qui reste largement inchangée. Par conséquent, les connaissances des développeurs des anciennes versions restent applicables dans la v3.0. -
--Nous résumons ci-dessous les changements les plus significatifs de la v3.0 afin d'aider les développeurs à migrer leurs applications v2.x et v1.x plus facilement, si besoin est. -
--La version 3.0 a complètement changé de besoin de fichiers de spécifications des composants. Il se fonde davantage sur des conventions pour définir les propriétés et les événements des composants . En particulié, une propriété est définit par la présence d'une méthode getter et/ou setter, tandis qu'un évènement est définit par l'existance d'une méthode on... .Les noms des propriétés et évènements dans la v3.0 sont tous les deux case-insensitive. Par conséquence, les développeurs sont désormais obligés de faire attention aux conversions de type lorsque la propriété d'un composant est définie. Par example, le code suivant est utilisé afin de définir la propriété Enabled propriétaire d'un TControl, qui est un type booléen, -
--où la fonction TPropertyValue::ensureBoolean() est utilisée afin de s'assurer que la variable est bien un booléen. Ceci car lorsque la propriété est configurée dans un template, une chaîne de caractère est passée au setter. Dans les versions précédentes, PRADO connaissait le type de chaque propriété des composants grâce aux fichiers de spécifications et se chargeait de la conversion de type pour vous. -
- --Le contrôleur de l'application implémente désormais une architecture modulaire. Les modules peuvent être ajoutés et configurés dans la configuration de l'application. Chaque module assure une fonction particulière et ils peuvent être coordonnés entre eux par le cycle de vie de l'application. Le concept des modules de la version 2.x a été replacé dans la v3.0 par les répertoires des pages. En conséquence, le format de configuration de l'application de la v3.0 est très différent des versions précédentes. -
- --Les pages dans la version 3.0 sont organisés dans des répertoires qui peuvent être comparés au concept des modules de la v2.x. Les pages sont demandées selon leur structure. Par exemple, une URL index.php?page=Controls.Samples.Sample1 sera utilisée pour servir une page nommée Sample1 se trouvant dans le répertoire [BasePath]/Controls/Samples, où [BasePath] se réfère au répertoire racine des pages. Le nom d'un fichier template d'une page doit avoir comme extension .page, principalement pour différencier les templates des pages des templates des contrôles qui se termineront par l'extension .tpl. -
- --La version 3.0 redéfinit les relations entre les contrôles. En particulier, la relation parent-enfant se réfère désormais à la relation entre les contrôles et la présentation. Un nouveau nom de relation est introduit afin d'aider la gestion des identifiants des contrôles. Pour plus de détails, voir la section concernant les contrôles. -
- --La syntaxe des contrôles dans les templates de la v3.0 est très similaire à celle des versions précédentes avec beaucoup d'améliorations. Un changement important est au sujet des expression dans le databinding. Dans la v3.0, cela est fait de la façon suivante,
--Les expressions et les tags d'états ont aussi changé. Pour plus de détails, voir la section concernant la définition des templates. -
--Les thèmes dans la v3.0 sont définis comme les contrôles des templates avec quelques restrictions. -
- --PRADO adalah kerangka pemrograman berbasis-komponen dan kendali-event untuk mengembangkan aplikasi Web dalam PHP 5. PRADO singkatan dari PHP Rapid Application Development Object-oriented. -
--Tujuan utama dari PRADO adalah menghidupkan usabilitas secara maksimum dalam pemrograman Web. Dengan usabilitas, kami artikan tidak hanya menggunakan ulang kode yang dimiliki seseorang, tapi juga menggunakan ulang kode orang lain dalam cara yang mudah. Yang terakhir lebih penting karena menghemat usaha penciptaan roda dan menghemat waktu pengembangan secara dramatis. Pengenalan atas konsep komponen adalah untuk tujuan ini. -
--Untuk mencapai tujuan di atas, PRADO menetapkan sebuah protokol atas penulisan dan pemakaian komponen untuk membentuk aplikasi Web. Komponen adalah unit software yang mengandung-dirinya sendiri dan dapat dipakai ulang dengan kustomisasi mudah. Komponen baru dapat dibuat dengan komposisi sederhana terhadap komponen-komponen yang sudah ada. -
--Untuk menjembatani interaksi dengan komponen, PRADO menerapkan paradigma pemrograman kendali-event yang membolehkan delegasi aturan yang bisa diperpanjang ke komponen. Aktivitas pengguna-akhir seperti mengklik pada tombol kirim, ditangkap sebagai event server. Metode atau fungsi dapat disertakan pada event ini agar ketika event terjadi, metode atau fungsi dipanggil secara otomatis untuk merespon event. Dibandingkan dengan pemrograman Web tradisional di mana para pengembang harus berhadapan dengan variabel kasar POST atay GET, pemrograman kendali-event membantu para pengembang lain lebih berfokus pada logika yang diperlukan dan mengurangi secara drastis pengkodean berulang kali. -
--Ringkasnya, mengembangkan aplikasi Web PRADO sebagian besar menyangkut penurunan tipe komponen yang sudah dibuat sebelumnya, mengkonfigurasinya dengan menyetel propertinya, merespon ke event-nya dengan menulis fungsi pengendali, dan mengaturnya ke dalam halaman untuk aplikasi. Ini sangat mirip dengan kit piranti RAD, seperti Borland Delphi dan Microsoft Visual Basic, yang digunakan untuk mengembangkan aplikasi GUI desktop. -
- --PRADO banyak dikutip sebagai kerangka kerja yang unik. Kenyataannya, ia begitu unik sehinggi ia dapat mengalihkan pemrograman PHP yang membosankan menjadi tugas yang menyenangkan. Daftar berikut adalah ringkasan pendek dari fitur utama PRADO, -
--PRADO paling cocok untuk membuat aplikasi Web yang tingkat interaksif-penggunanya cukup tinggi. Ia dapat dipakai untuk mengembangkan sistem sesederhana sistem blog sampai serumit sistem manajemen konten (CMS) atau solusi e-commerce lengkap. Karena PRADO mempromosikan pemrograman terorientasi-obyek melalui metodologi basis-komponennya, ia sangat cocok untuk kerjasama tim dan pengembangan enterprise. -
--PRADO hadir dengan set lengkap atas teknik cache yang membantu mempercepat aplikasi Web PRADO untuk mengakomodasi kebutuhan lalu lintas tinggi. Arsitektur modularnya membolehkan para pengembang menyertakan modul cache berbeda untuk keperluan yang berbeda pula. Cache output membebaskan seseorang untuk memilih secara selektif bagian halaman Web yang akan di-cache. -
- --PRADO sering dikutip sebagai kerangka kerja unik. Keunikannya terutama berada pada paradigma pemrograman berbasis-komponen dan kendali-event yang dicoba dipromosikan. Meskipun paradigma pemrograman ini bukan hal baru dalam pemrograman aplikasi desktop dan bukan hal baru dalam beberapa bahasa pemrograman Web, Barangkali PRADO adalah kerangka kerja PHP pertama yang menghidupkannya. -
--Kebanyakan kerangka kerja PHP berfokus pada pemisahan penyajian dan logika serta mempromosikan pola desain MVC (model-view-controller). Pada dasarnya PRADO melakukan tujuan yang sama dengan membutuhkan logika disimpan dalam kelas dan penyajian dalam template. PRADO melakukan lebih banyak aspek tidak hanya MVC. Ia mengisi banyak area kosong dalam pemrograman Web PHP dengan paradigma pemrograman berbasis-komponen, kontrol Web yang kaya, dukungan database yang handal, fitur penanganan kesalahan yang fleksibel serta fitur pencatatan, dan masih banyak lagi. -
- --Ya. PRADO awalnya dirilis pada bulan Agustus 2004. Banyak rangkaian pengujian sudah ditulis dan dilaksanakan secara berkala guna memastikan kualitasnya. Sudah dipakai oleh ribuan pengembang dan banyak aplikasi Web dikembangkan berbasis itu. Bugs dan permintaan fitur diatur melalui sistem TRAC dan kami mempunyai komunitas pengguna besar dan tim pengembangan untuk memastikan semua pertanyaan dijawab dalam model berkala. -
- --Inspirasi orisinil PRADO berasal dari Apache Tapestry. Selama desain dan implementasi, Saya meminjam ide dari Borland Delphi dan Microsoft ASP.NET. Versi pertama PRADO keluar dalam bulan Juni 2004 dan ditulis dalam PHP 4. Karena adanya kontes kode Zend PHP 5, Saya menulis ulang PRADO dalam PHP 5, yang membuktikan menjadi perpindahan yang bijaksana, terima kasih pada model obyek baru yang disediakan PHP 5. PRADO memenangkan hadiah utama dalam kontes Zend, memperoleh pilihan tertinggi baik dari umum dan panelis juri. -
--Dalam bulan Agustus 2004, PRADO mulai ditampung pada SourceForge sebagai proyek sumber terbuka. Segera setelah itu, situs proyek xisc.com diumumkan kepada publik. Dengan dukungan fantastis dari tim pengembang PRADO dan pengguna PRADO, PRADO berkembang ke versi 2.0 di pertengahan 2005. Dalam versi ini, Wei Zhuo berkontribusi ke PRADO dengan dukungan I18N dan L10N yang istimewa. -
--Dalam bulan Mei 2005, kami memutuskan untuk menulis ulang sepenuhnya kerangka kerja PRADO untuk memecahkan beberapa isu dasar dalam versi 2.0 dan untuk menangkap dengan beberapa fitur bagus dalam Microsoft ASP.NET 2.0. Setelah hampir setahun kerja keras dengan lebih dari 50,000 baris kode baru, versi 3.0 akhirnya tersedia pada bulan April 2006. -
--Mulai dari versi 3.0, usaha signifikan dialokasikan untuk memastikan kualitas dan stabilitas PRADO. Jika kami katakan PRADO v2.x dan v1.x adalah pekerjaan bukti-konsep, kami dapat mengatakan PRADO 3.x telah berkembang menjadi proyek yang layak untuk pengembangan aplikasi bisnis serius. -
-File naskah PHP opsional prado-cli.php dalam direktori framework -menyediakan piranti baris perintah untuk melakukan berbagai hal membosankan dalam Prado. -prado-cli.php dapat dipakai untuk membuat kerangka proyek Prado, membuat perlengkapan pengujian awal, dan akses ke shell PHP interaktif. -
--Untuk menggunakan piranti baris perintah, Anda perlu memakai prompt perintah Anda, konsol perintah atau terminal. Sebagai tambahan, PHP harus dapat menjalankan naskah PHP dari baris perintah. -
- --Jika Anda ketik php path/ke/framework/prado-cli.php, Anda seharusnya melihat informasi berikut. Alternatifnya, jika Anda tidak pada Windows, Anda dapat mencoba untuk mengubah prado-cli.php ke dalam eksecutabel dan menjalankannya seperti sebuah naskah
-<parameter> adalah parameter diperlukan dan [optional] adalah parameter opsional.
- -Untuk membuat kerangka proyek Prado, lakukan yang berikut:
--Shell interaktif membolehkan Anda untuk mengevaluasi pernyataan PHP dari baris perintah. -Naskah prado-cli.php dapat dipakai untuk memulai shell dan mengambil proyek Prado yang sudah ada. Sebagai contoh, mari kita ambil proyek demo blog. Anggap bahwa baris perintah Anda ada dalam direktori distribusi prado dan Anda mengetikkannya. -
-
-
-Dalam seksi ini, kami membimbing Anda melalui pembuatan aplikasi PRADO pertama Anda, aplikasi terkenal "Hello World". -
--"Hello World" barangkali adalah aplikasi PRADO interaktif paling sederhana yang bisa Anda buat. Ia menampilkan kepada pengguna-akhir sebuah halaman dengan tombol kirim yang judulnya adalah Click Me. Setelah pengguna mengklik tombol, judulnya diubah ke Hello World. -
--Ada banyak pendekatan yang dapat mencapai tujuan di atas. Seseorang dapat mengirim halaman ke server, menentukan variabel POST, dan membuat halaman baru dengan judul tombol yang dimutakhirkan. Atau seseorang cukup menggunakan JavaScript untuk memutakhirkan judul tombol setelah event klien onclick. -
-
-PRADO mempromosikan pemrograman Web berbasis-komponen dan kendali-event. Tombol disajikan oleh obyek TButton. Ia melapisi judul tombol sebagai properti Text dan mengaitkan tindakan klik pengguna dengan event sisi-server OnClick. Untuk merespon klik pengguna pada tombol, seseorang cukup perlu menyertakan fungsi ke event OnClick tombol. Di dalam fungsi, properti tombol Text diubah sebagai "Hello World". Diagram berikut menampilkan urutan di atas,
-
-
-Aplikasi PRADO kita terdiri dari tiga file, index.php, Home.page dan Home.php, yang diatur sebagai berikut,
-
-
-di mana setiap direktori dijelaskan sebagai berikut. Catatan, struktur direktori di atas bisa dikustomisasi. Sebagai contoh, seseorang dapat memindahkan direktori protected ke luar direktori Web. Anda akan mengetahui bagaimana melakukan ini setelah Anda melewati tutorial ini.
-
-Ketiga file yang kita pakai dijelaskan sebagai berikut. -
--Aplikasi sekarang siap dan dapat diakses melalui: http://Web-server-address/helloworld/index.php, menganggap helloworld adalah direktori di bawah Web DocumentRoot. Coba untuk mengubah TButton dalam Home.page ke TLinkButton dan lihat apa yang terjadi. -
--Kode sumber lengkap dari demo ini dapat ditemukan pada rilis PRADO. Anda juga dapat mencoba demo online. -
--Jika Anda sedang melihat halaman ini dari server Web Anda, maka Anda sudah selesai dengan instalasi. -
--Persyaratan minimum PRADO adalah server Web yang mendukung PHP 5. PRADO sudah diuji dengan server Web Apache pada Windows dan Linux. Sangat dimungkinkan ia juga berjalan pada platform lain dengan server Web lain, selama PHP 5 didukung. -
--Instalasi PRADO sebagian besar menyangkut download dan penguraian. -
--Instalasi PRADO Anda selesai dan dapat mulai bermain dengan demo aplikasi yang disertakan dalam rilis PRADO via URL http://web-server-address/prado/demos/. Di sini kami menganggap PRADO diurai ke subdirektori prado di bawah DocumentRoot pada server Web. -
--Jika Anda menemukan masalah dengan demo aplikasi, silahkan gunakan naskah pemeriksa persyaratan, yang dapapt diakses melalui http://web-server-address/prado/requirements/index.php, untuk terlebih dahulu memeriksa apakah konfigurasi server Anda memenuhi kondisi yang dibutuhkan oleh PRADO. -
--Tutorial Cepat ini disediakan untuk membantu Anda secara cepat membangun aplikasi Web Anda sendiri berbasis PRADO versi 3.x. -
--Jika Anda adalah pengguna yang sudah mengenal PRADO 3.x dan ingin mempelajari peningkatan apa yang tersedia pada versi baru, silahkan periksa halaman fitur baru. Sebaliknya, seksi berikut sangat membantu bagi para pemula. -
- - --Anda dapat merujuk ke sumber daya berikut jika Anda mendapatkan tutorial ini tidak memenuhi semua kebutuhan Anda. -
--Halaman ini meringkas fitur-fitur utama baru yang diperkenalkan dalam setiap rilis PRADO. -
- --PRADO v3.0 TIDAK kompatibel mundur dengan versi PRADO sebelumnya. -
--Berita baiknya adalah, properti dan event dari kebanyakan kontrol tetap sama, dan sintaks template kontrol sebagian besar tidak diubah. Oleh karena itu, pengetahuan para pengembang dari versi PRADIO sebelumnya masih berlaku dalam v3.0. -
--Kami meringkas perubahan paling berarti dalam v3.0 guna membantu para pengembang meningkatkan aplikasi PRADO v2.x dan v1.x lebih mudah, jika diperlukan. -
--Versi 3.0 sepenuhnya telah mengabaikan kebutuhan file spesifikasi komponen. Ia banyak bergantung pada konvensi untuk mendefinisikan properti dan event komponen. Dalam keadaan tertentu, properti didefinisikan oleh keberadaan dari metode pengambil dan/atau metode penyetel, sementara event didefinisikan dengan keberadaan pada-metode. Nama properti dan event dalam v3.0 keduanya sensitif-huruf. Sebagai konsekuensinya, para pengembang diperlukan untuk memelihara perubahan tipe saat properti komponen sedang disetel. Sebagai contoh, kode berikut dipakai untuk mendefinisikan metode penyetel untuk properti yang Dihidupkan dari TControl, yang merupakan tipe boolean, -
--di mana TPropertyValue::ensureBoolean() dipakai untuk memastikan bahwa nilai input adalah boolean. Ini adalah karena ketika properti dikonfigurasi dalam template, nilai string dikirimkan ke penyetel. Dalam versi sebelumnya, PRADO mengetahui tipe properti berdasarkan file spesifikasi komponen dan melakukan konversi tipe bagi Anda. -
- --Pengontrol aplikasi sekarang menerapkan sebuah arsitektur modular. Modul bisa disertakan dan dikonfigurasi dalam spesifikasi aplikasi. Setiap modul menganggap fungsionalitas tertentu, dan dikoordinasikan bersama oleh masa hidup aplikasi. Konsep modul v2.x diganti dalam v3.0 by direktori halaman. Walhasil, format v3.0 spesifikasi aplikasi juga berbeda dari versi sebelumnya. -
- --Halaman pada v3.0 diatur dalam direktori yang bisa dibandingkan ke konsep modul pada v2.x. Halaman diminta menggunakan path kepadanya. Sebagai contoh, URL index.php?page=Controls.Samples.Sample1 akan dipakai untuk meminta halaman bernama Sample1 yang disimpan di bawah direktori [BasePath]/Controls/Samples, di mana [BasePath] merujuk ke akar path halaman. Nama file dari template halaman harus diakhiri dengan .page, terutama untuk membedakan template halaman dari template kontrol non-halaman yang nama filenya sama harus diakhiri dengan .tpl. -
- --Versi 3.0 mendefinsikan kembali hubungan diantara kontrol. Dalam keadaan tertentu, hubungan leluhur-anak sekarang merujuk ke hubungan lampiran antara penyajian kontrol. Dan hubungan wadah-penamaan baru diperkenalkan guna membantu lebih baik mengatur ID kontrol. Untuk lebih jelasnya, lihat seksi controls. -
- --Sintaks template kontrol dalam v3.0 tetap mirip dengan versi sebelumnya, dengan banyak peningkatan. Perubahan utama adalah mengenai ekspresi penyatuan data. Dalam v3.0, ini dikerjakan dengan mengikuti, -
--Tag ekspresi dan pernyataan juga diubah. Untuk lebih jelasnya, lihat seksi definisi template. -
--Tema dalam v3.0 didefinisikan seperti template kontrol dengan beberapa batasan. -
- --PRADO はコンポーネントベースかつイベントドリブンなウェブアプリケーションを開発するためのPHP5フレームワークです。「PRADO」の名称は、PHP Rapid Application Development Object-oriented の略です。 -
- --PRADO の第一の目標は、ウェブプログラミングにおけるコードの再利用性を最大限に高めることです。 -ここでの再利用性は、自分自身で開発したコードを再利用することだけではなく、簡単な方法で他人の開発したコードを再利用することも意味しています。これは、「車輪の発明」という無駄な努力に要する時間を節約し開発工数を劇的に減らすためにはとても重要な項目といえます。PRADOではこの目的を実現するためにコンポーネントという概念を導入しています。 -
--上記の目的を達するために、PRADO ではウェブアプリケーション構築のためのコンポーネントの作成方法および使用方法を規定しています。コンポーネントとは、自己充足的かつちょっとしたカスタマイズで再利用が可能なソフトウェアユニットです。新しいコンポーネントは既存のコンポーネントを単純に組み合わせるだけで作成する事ができます。 -
--コンポーネントをインタラクティブに利用できるように、PRADO ではイベントドリブンプログラミングの枠組みを実装しています。ボタンの押下などのユーザーアクションはサーバー側のイベントとして補足されます。メソッドや関数をそれらのイベントに対応付けておくと、イベントに反応するかのように自動的にメソッドや関数が実行されます。POST/GET 変数を取得して処理をする従来のウェブプログラミングと比べて、イベントドリブン型プログラミングは開発者が必要な処理に集中でき、POST/GET の取得などの反復コードも激減する事になります。 -
--PRADO でのアプリケーション開発は、ページにコンポーネントを配置し、プロパティの設定やイベントに反応するメソッドをコーディングすることが主な作業となります。これはデスクトップ GUI アプリケーションを開発するのに使用する Borland Delphi や Microsoft Visual Basic などの RAD ツールと非常に似た作りとなっています。 -
- --PRADO はユニークなフレームワークとして紹介されています。事実、退屈な PHP プログラミングを楽しいものと変えることができるくらいユニークなフレームワークです。以下のリストは、PRADO に関する主な機能となっています。 -
--PRADO はインタラクティブなウェブアプリケーションを開発するのにとても適しています。コンテンツ管理システム(CMS)や、Eコマースなどの複雑なシステムを比較的容易に開発する事ができます。PRADO はコンポーネントベースのオブジェクト指向プログラミングですので、企業等でのチーム開発で力を発揮します。 -
--PRADO はアプリケーションの高速化とスケーラビリティを実現するためのキャッシュ機構を実装しています。利用する環境によりキャッシュモジュールを選択し、PRADO アプリケーションで利用する事ができます。出力キャッシュは、レンダリングされたウェブページの一部をキャッシュとして保存しておき、再度レンダリングする際に自動的にキャッシュから取得する機構になっています。 -
- --PRADO はよくユニークなフレームワークと呼ばれています。コンポーネントベースとイベントドリブンな実装が特にユニークであるとされています。このプログラミング方法はデスクトップアプリケーション開発においては新しくはなく、いくつかのウェブプログラミング言語でも実装されていますが、PHP のフレームワークとしてはおそらく初めて実装されたフレームワークです。 -
--ほとんどの PHP フレームワークでは、画面表示部分とロジック部分を分離することに着目し、そのためにMVCデザインパターンで開発することを推奨しています。一方PRADOでは、テンプレートの中に画面表示部分を、クラスにロジック部分を記述することで、自然に同様の目標を達成する事ができています。そして、MVCでは実現できなかったコンポーネントベースのプログラミングスタイル、豊富なウェブコントロール、強力なデータベースサポート、柔軟なエラー処理とロギング機能などの色々な機能を実装することができています。 -
- --はい。PRADO は2004年8月に初めてリリースされました。品質を確保するために多くのテストプログラムが作成されており、何千人もの開発者が利用しています。このテストプログラムによるテストを重ねて、フレームワークは開発されており、バグや機能追加などは TRAC システムにより管理されています。そして、すべての開発者の疑問にスピーディーに回答できるようにコミュニティも用意してあります。 -
- --PRADO のユニークな発想は Apache Tapestry から生まれました。設計と実装には、Borland Delphi と Microsoft ASP.NET から多くのアイディアを借りました。PRADO の最初のバージョンは、2004年6月にできて、PHP4で書かれていましたが、Zend PHP5コンテストに応募するためにPHP5のコードに書き直しました。(PHP5から提供されたオブジェクトモデルはとても助けになりました)そして PRADO は Zend コンテストで観客・審査員の高い評価を得て特賞を勝ち取りました。 -
--2004年8月にオープンソースプロジェクトとして SourceForge にて提供され始め、そのすぐ後にプロジェクトサイト「xisc.com」が公開されました。PRADO 開発チームと PRADO ユーザーのサポートにより、PRADO は2005年中頃にバージョン2.0へとバージョンアップしました。このバージョンでは Wei Zhuo が I18N/L10N サポートの実装で貢献をしました。 -
--2005年5月に、バージョン2.0で見つかった問題点を解決し、さらに Microsoft ASP.NET2.0 で利用可能ないくつかの機能を実装するために PRADO フレームワークを完全に書き直す決定をしました。1年近い期間をかけて、新たに50,000行を超える新しいコードを追加し、2006年4月にバージョン3.0をリリースしました。 -
--バージョン3.0では、PRADO の品質と安定性を確実にするために多くの時間を当てています。 -そして私たちは、PRADO 2.x/1.x においてそのコンセプトの正しさが証明され、PRADO 3.x において重要なビジネスアプリケーションの開発に適したフレームワークにまで成長したと私たちは確信しています。 -
- -The optional prado-cli.php PHP script file in the framework -directory provides command line tools to perform various tedious takes in Prado. -The prado-cli.php can be used to create Prado project skeletons, create -initial test fixtures, and access to an interactive PHP shell. -
--To use the command line tool, you need to use your command prompt, command console -or terminal. In addition, PHP must be able to execute PHP scripts from -the command line. -
- --If you type php path/to/framework/prado-cli.php, you should see -the following information. Alternatively, if you are not on Windows, -you may try to change the prado-cli.php into an executable -and execute it as a script
-The <parameter> are required parameters and [optional] -are optional parameters.
- -To create a Prado project skeleton, do the following:
--The interactive shell allows you to evaluate PHP statements from the command line. -The prado-cli.php script can be used to start the shell and load an existing -Prado project. For example, let us load the blog demo project. Assume that your -command line is in the prado distribution directory and you type. -
-
-
-ここでは、初めて PRADO アプリケーションを開発する人のために、定番の "Hello World" アプリケーションを解説します。 -
-
-"Hello World" を作る事は、最もシンプルでインタラクティブな PRADO アプリケーションを作る事かもしれません。
-このアプリケーションは、ページに Click Me と書いてある送信ボタンを配置してあります。
-ユーザーがボタンをクリックすると、ボタン文字が Hello World に変わるというアプリケーションです。
-
-このアプリケーションには、複雑なアプリケーションを作る上で重要なアプローチがいくつかあります。
-ひとつは、ページからサーバーに変数を送信して、その変数を利用して新しいページ(新しいボタン)を生成していることです。
-またもう一つは、Javascript の onclick を意識することなく利用し、ボタン文字を変更する事ができるということです。
-
-PRADO ではコンポーネントベース、そしてイベントドリブンのウェブプログラミングを構築する事ができます。
-ボタンは、TButton オブジェクトを使用します。
-TButton では Text プロパティがボタン文字となり、ユーザーのクリック動作をサーバーサイドの OnClick イベントに対応付けます。
-Text プロパティを変更する内容を定義したメソッドを OnClick に対応付けるだけで、ボタンクリックのアクションを設定することができます。
-以下にアプリケーションのシーケンスを示します。
-
-
-このアプリケーションは3つのファイル index.php, Home.page, Home.php から構成されています。
-
-
-各ディレクトリ名は開発者によって変更する事が可能です。例えば protected ディレクトリはウェブサーバーにより公開されたディレクトリ以外の場所へ移動することができます。このチュートリアルを読む事で、その方法を修得する事ができます。
-
-アプリケーションの実行に必要な3つのファイルの内容は以下のとおりです。 -
-
-アプリケーションファイルの準備ができたら、次のURLからアクセスすることができます。 http://Web-server-address/helloworld/index.php
-この例ではドキュメントルート配下に helloworld というディレクトリを配置しています。Home.page テンプレートファイル内の TButton を TLinkButton へ変更してみてどのようになるかも試してみてください。
-
-PRADO リリースアーカイブファイルにこのデモのソースを格納しています。また、オンラインデモにて動作を確認する事ができます。 -
--ご自分で管理されているサーバーをお持ちであれば、すぐにインストールすることが可能です。 -
-
-PRADO の最小構成は、サーバーがPHP5をサポートしていることです。
-PRADO は Windows と Linux 両環境の Apache サーバーでテストされています。
-PHP5 がサポートされているのであれば、他の環境でも動作させることができるかもしれません。
-
-PRADO のインストールは、PRADO をダウンロードし解凍することが主な作業となります。 -
-
-上記の作業のみでPRADOのインストールが完了します。
-http://web-server-address/prado/demos/ 以下にPRADOデモアプリケーションが展開されますので、PRADOを利用したアプリケーションの動作を体験する事ができます。
-デモアプリケーションの動作が確認できていれば、DocumentRoot 配下に prado サブディレクトリが展開されたことになりますので、インストールは正常に完了しております。
-
-もしデモアプリケーションが動作しない等の問題が発生しましたら、サーバー構成がPRADO必要条件を満たしているかどうかを確認する事ができるスクリプト http://web-server-address/prado/requirements/index.php が用意されていますので、確認してください。 -
--このチュートリアルはPRADO3.xを使ったアプリケーションをスピーディーに構築するためのものです。 -
--既にPRADO3.xを使用しており新しいバージョンで強化された機能を知りたい方は、まずは新機能ページをご覧ください。PRADOを使用したことのない方にはこのチュートリアルはとても役立つものですので、ぜひご覧下さい。 -
- - --もしこのチュートリアルの内容では不十分と感じたら、以下リンクの各種資料もご覧ください。 -
--このページは、以下バージョンの PRADO に含まれる新機能の概要を紹介するページです。 -
- --PRADO v3.0 is NOT backward compatible with earlier versions of PRADO. -
--A good news is, properties and events of most controls remain intact, and the syntax of control templates remains largely unchanged. Therefore, developers' knowledge of earlier versions of PRADO are still applicable in v3.0. -
--We summarize in the following the most significant changes in v3.0 to help developers upgrade their v2.x and v1.x PRADO applications more easily, if needed. -
--Version 3.0 has completely discarded the need of component specification files. It relies more on conventions for defining component properties and events. In particular, a property is defined by the existence of a getter method and/or a setter method, while an event is defined by the existence of an on-method. Property and event names in v3.0 are both case-insensitive. As a consequence, developers are now required to take care of type conversions when a component property is being set. For example, the following code is used to define the setter method for the Enabled property of TControl, which is of boolean type, -
--where TPropertyValue::ensureBoolean() is used to ensure that the input value be a boolean. This is because when the property is configured in template, a string value is passed to the setter. In previous versions, PRADO knows the property type based on the component specification files and does the type conversion for you. -
- --Application controller now implements a modular architecture. Modules can be plugged in and configured in application specifications. Each module assumes a particular functionality, and they are coordinated together by the application lifecycle. The concept of v2.x modules is replaced in v3.0 by page directories. As a result, the format of v3.0 application specification is also different from earlier versions. -
- --Pages in v3.0 are organized in directories which may be compared to the module concept in v2.x. Pages are requested using the path to them. For example, a URL index.php?page=Controls.Samples.Sample1 would be used to request for a page named Sample1 stored under the [BasePath]/Controls/Samples directory, where [BasePath] refers to the root page path. The file name of a page template must be ended with .page, mainly to differentiate page templates from non-page control templates whose file names must be ended with .tpl. -
- --Version 3.0 redefines the relationships between controls. In particular, the parent-child relationship now refers to the enclosure relationship between controls' presentation. And a new naming-container relationship is introduced to help better manage control IDs. For more details, see the controls section. -
- --The syntax of control templates in v3.0 remains similar to those in earlier versions, with many enhancements. A major change is about the databinding expression. In v3.0, this is done by the following, -
--Expression and statement tags are also changed similarly. For more details, see the template definition section. -
--Themes in v3.0 are defined like control templates with a few restrictions. -
- --PRADO jest napisanym w PHP5 frameworkiem dla aplikacji webowych opartym na komponentach oraz programowaniu zdarzeniowym (ang. event-driven programming). -PRADO z angielskiego oznacza PHP Rapid Application Development Object-oriented (przyp. tłum. szybkie tworzenie aplikacji zorientowanych obiektowo w PHP). -
--Głównym celem PRADO jest zmaksymalizowanie ponownego wykorzystania kodu (ang. reusability w programowaniu webowym. Poprzez ponowne wykorzystanie kodu rozumiemy nie tylko ponowne używanie własnego kodu ale również ponowne używanie w prosty sposób tego kodu przez inne osoby. To drugie jest bardziej ważne, gdyż oszczędza niepotrzebny wysiłek włożony w ponowne odkrywanie koła i może znacznie zmniejszyć czas developmentu. Taka jest właśnie intencja zastosowania koncepcji komponentów. -
--Aby osiągnąć powyższe cele, PRADO wymaga protokołu pisania i używania komnponentów do konstrukcji aplikacji webowych. Komponent jest jednostką programowania, która jest samowystarczalna i może być użyta ponownie poprzez proste dostosowanie (ang. trivial customization). Nowy komponent może zostać stworzony jako prosta kompozycja istniejących komponentów. -
--Aby ułatwić interakcję z komponentami, PRADO implementuje paradygmat programowania sterowanego zdarzeniami (ang. event-driven programming paradigm), który umożliwia elastyczne przekierowanie zachowania do komponentu. Czynności użytkownika końcowego, takie jak kliknięcie na przycisk (ang. submit button), są przechwytywane jako zdarzenia serwera. Zarówno metody jak i funkcje mogą być przypisane do tych zdarzeń. W chwili gdy takie zdarzenie występuje są one (metody, funkcje) automatycznie wywoływane w odpowiedzi na zdarzenie. W porównaniu do tradycyjnego programowania, w których developerzy muszą zmagać się z surowymi zmiennymi POST i GET, programowanie zdarzeniowe pomaga developerom lepiej skupić się na niezbędnej logice i poważnie zredukować nispoziomowe powtarzające się kodowanie. -
--Sumując, tworzenie w PRADO aplikacji sieciowych, polega głównie na tworzeniu instancji różnego typu wbudowanych komponentów, konfigurowania ich, odpowiadania na ich zdarzenia poprzez przypisanie im uchwytów funkcji oraz wkomponowanie ich w stronę aplikacji. Jest to bardzo podobne do narzędzi RAD, takich jak Borland Delphi, czy też Microsoft Visual Basic, które używane są do tworzenia desktopowych aplickacji GUI (ang. develop GUI application). -
- --PRADO jest najczęściej postrzegane jako jedyny w swoim rodzaju framework. W rzeczy samej, jest on tak unikatowy, że może zamienić nużące programowanie w PHP w przyjemną zabawę. Poniższa lista jest krótkim podsumowaniem, głównych możliwości (cech) PRADO. -
--Stosowanie PRADO jest najbardziej wskazane w aplikacjach internetowych, które są wysoce interaktywne z użytkownikiem. Może być wykorzystywane do tworzenia systemów tak prostych jak internetowe blogi po kompleksowe rozwiązania e-commerce. Ponieważ PRADO wspiera programowanie zorietnowane obiektowo (OOP) poprzez własną metodologię, bazująca na komponentach, pasuje ono ekstremalnie dobrze do pracy grupowej oraz tworzenia aplikacji klasy enterprise (ang. enterprise development). -
--PRADO przychodzi z kompletnym zestawem technik keszowania, które pomagają przyśpieszyć aplikacje internetowe PRADO, by móc zastosować je do aplikacji o wysokim ruchu. Jego modularna architektura umożliwia developerom używanie oraz podłączanie różnych modułów keszujących w zależności od potrzeb. Keszowanie wyjścia umożliwia każdemu selektywny wybór keszowania części wyświetlanej strony. -
- --PRADO często jest postrzegane jako jedyny w swoim rodzaju framework. Jego unikatowość polega głównie na programowaniu bazującym na komponentach oraz paradygmacie programowania sterowanego zdarzeniami, które stara się promować. Chociaż ten paradygmat nie jest nowością w aplikacjach desktopowych oraz nie jest nowy w kilku językach programowania webowego, PRADO jest prawdopodobnie pierwszym frameworkiem umożliwiającym go. -
--Większość frameworków PHP skupia się głównie na odseparowaniu warstwy prezentacji i logiki promując wzorzec programowania MVC (przyp. tłum. od pierwszych liter model - model view - widok controler - kontroler). PRADO osiąga te same cele naturalnie poprzez potrzebę prechowywania logiki w klasach a prezetnacji w szablonach (ang. templates). PRADO robi dużo więcej w sprawach innych niż MVC. Wypełnia wiele białych plam w programowaniu webowym w PHP, swoim bazującym na komponentach paradygmacie programowania, jego bogatym zestawem kontrolek webowych, jego wszechstronną obsługą baz danych, jego elastyczną obsługą błędów oraz ich logowania oraz wiele wiele innych. -
- --Tak. PRADO zostało pierwszy raz opublikowane w sierpniu 2004 roku. Wiele zestawów testów zostało od tego czasu napisanych oraz często przeprowadzanych by upewnić sie o jakości PRADO. Framework był używany przez tysiące użytkowników oraz developerów a wiele aplikacji internetowych powstało w oparciu o niego. Bugi oraz żądania rozszerzeń są zarządzane poprzez system TRAC, posiadamy także wspaniałą społeczność użytkowników oraz zespół developerów by być pewnym, że żadne pytanie nie pozostanie bez odpowiedzi. -
- --Pierwotna inspiracja PRADO pochodziła od Apache Taperstry. W trakcie projektowania i implementacji, zapożyczyłem wiele idei z Borland Delphi oraz Microsodt ASP.NET. Pierwsza wersja PRADO ujrzała świat w czerwcu 2004 roku i została napisana w PHP4. Zachęcony konkursem kodowania w PHP5 Zenda, przepisałem PRADO do PHP5, co okazało się mądrym posunięciem, dzięki nowemu modelowi obiektowemu dostarczonemu przez PHP5. PRADO zdobyło główną nagrodę w konkrusie Zenda, uzyskując najwięcej głosów zarówno wsród publiczności jak i wśród sędziów. -
--W sierpniu 2004, PRADO zaczęło być hostowane przez SourceForge jako projekt open source. Wkrótce, stona projektu xisc.com została zaprezentowana publicznie. Wraz z fantastycznym wparciem zespołu developerów PRADO oraz jego użytkowników, PRADO rozwinęło się do wersji 2.0 w połówie 2005 roku. W tej wersji, Wei Zhuo dołączył do PRADO ze znakomita opbsługą dla I18N oraz L10N. -
--W maju 2005, zdecydowaliśmy się całkowicie przepisać framewrork PRADO, by rozwiązać kilka kluczowych kwestii z wersji 2.0 oraz by porwać kilka fajnych możliwości dostępncyh w Microsoft ASP.NET. Po około roku ciężkiej pracy z ponad 50.000 liniami nowego kodu, wersja 3.0 została w końcu udostępniona w kwietniu 2006r. -
--Poczynając od wersji 3.0, znaczny nakład jest kładziony by zapewnić jakość oraz stabilność PRADO. Jeśli powiemy, że PRADO w wersjach 2.x oraz 1.x były dziełem potwierdzającym koncept (ang. proof-of-concept work), możemy powiedzieć, że PRADO 3.X wyrosło na projekt, który jest odpowiedni dla tworzenia plikacji biznesowych. -
-Opcjonalny plik skryptu PHP prado-cli.php PHP w folderze framework -dostarcza narzędzia linii poleceń do wykonywania różnych monotonnych czynności w PRADO. -Prado-cli.php może zostać użyte do stworzenia szkieletu projektu PRADO, zainicjowania testów oraz uzyskania dostępu do -interaktywnej powłoki PHP. -
--Aby używać narzędzia linii poleceń powinieneś użyć terminala, consoli komend lub opcji uruchom. Dodatkowo PHP musi mieć możliwość -wykonywania skryptów PHP z linii poleceń. -
- --Wpisując php ścieżka/do/katalogu/framework/prado-cli.php, powinieneć zobaczyć następujace informacje. -Alternatywnie, jeśli nie używasz Windowsa możesz spróbować zamienić prado-cli.php na plik wykonywalny -i wywołać go jako skrypt.
-<parameter> są wymaganymi parametrami a [optional] -są parametrami opcjonalnymi.
- -Aby stworzyć szkielekt projektu Prado, wykonaj następujące czynności:
--Interaktywna powłoka umożliwia Ci wykonywanie wyrażeń PHP z linii poleceń. -Skrypt prado-cli.php może zostać użyty do uruchomienia powłoki i załadowania istniejącego projektu Prado. -Dla przykładu załadujmy projekt demo blogu. Zakładając, że twoja linia poleceń jest w katalogu żródłowym prado i wpiszesz... -
-
-
-W tej sekcji, przeprowadzimy Cię przez proces tworzenia Twojej pierwszej aplikcaji w PRADO, słynną aplikację "Witaj świecie" (ang. "Hello World"). -
--"Witaj świecie" prawdopodobnie jest najprostszą interaktywną aplikacją w PRADO, którą możesz stworzyć. Wyświetla ona użytkownikowu końcowemu stronę z przyciskiem, którego napis to Kliknij mnie (ang. Click Me). Po tym jak użytkownik kliknie na przycisk, jego napis zmienia się na Witaj świecie. -
--Jest wiele dróg aby osiągnąć ten cel. Można przesłać (ang. submit) stronę do serwera, sprawdzić zmienną POST i wygenerować nową stronę z przyciskiem ze zaktualizowanym napisem. Można też przez proste użycie JavaScript zaktualizować napis podczas zdarzenia OnClick po stronie klienta. -
-
-PRADO promuje programowanie sterowane zdarzeniami i bazujące na komponentach. Przycisk jest reprezentowany przez obiekt TButton. Hermetyzuje on napis na przycisku jako właściwość Text przycisku oraz wiąże akcję naciśnięcia przez użytkownika przycisku ze zdarzeniem po stronie serwera OnClick. Aby odpowiedzieć na naciśnięcie przez użytkownika przycisku, należy po prostu przypisać funkcję do zdarzenia OnClick przycisku. Wewnątrz funkcji, właściwość Text przycisku jest zmodyfikowana na "Witaj świecie". Poniższy diagram pokazuje powyższą sekwencję.
-
-
-Nasza aplikacja PRADO składa się z trzech plików index.php, Home.page and Home.php, które są zorganizowane w poniższy sposób,
-
-
-gdzie każdy katalog należy rozumieć następująco. Zauważ, że powyższa struktura katalogów jest rozszerzalna. Na przykład, można przenieść katalog protected poza katalog WWW. Będziesz wiedział jak tego dokonać, jeśli przejdziesz przez ten przewodnik.
-
-Trzy pliki, krórych potrzebujemy, kolejno oznaczają -
--Aplikacja jest teraz gotowa i jest dostępna poprzez adres http://adres-serwera/helloworld/index.php, zakładając, że helloworld znajduje się bezpośrenio w KataloguGłównymDokumentó serwera (ang. DocumentRoot). Spróbuj zmienić TButton w Home.page na TLinkButton i zobacz co się stanie. -
--Kompletne źródło kodu dla tego demo można znaleźć w wydaniu PRADO. Możesz również spróbować demo online. -
--Jeśli widzisz tą stronę z poziomu własnego serwera, zakończyłeś właśnie instalację. -
--Minimalne wymagania PRADO to serwer internetowy wspierający PHP5. PRADO zostało przetestowane na serwerze Apache na Windowsie oraz Linuxie. Jest wielce prawdopodobne, że może również działać na innych platformach z innymi serwerami internetowymi dopóki wspierają one PHP5. -
--Instalacja PRADO składa się głównie z jego pobrania oraz rozpakowania. -
--Twoja instalacja PRADO jest zakończona i możesz zacząć zabawę z aplikacjami demo zawartymi w PRADO znajdującymi się pod adresem http://adres-serwera/prado/demos/. Tutaj zakładamy, że PRADO jest rozpakowane do katalogu prado w katalogu głównym serwera. -
--Jeśli spotkasz się z jakimkolwiek problemem w aplikacjach demo, proszę użyj skryptu sprawdzającego wymagania do korzystania z PRADO dostępnego poprzez http://adres-serwera/prado/requirements/index.php, aby najpierw sprawdzić czy Twoja konfiguracja serwera spełnia wszystkie warunki wymagane przez PRADO. -
--Niniejszy przewodnik powstał by pomóc Tobie w szybkim rozpoczęciu budowania Twojej własnej aplikacji internetowej bazującej na PRADO w wersji 3.x -
--Jeśli jesteś już użytkownikiem PRADO #.x i chciałbyś dowiedzieć się jakie rozszerzenia są dostępne dla każdej nowej wersji, proszę sprawdź nowe właściwości. -Następujące sekcje są pomocne dla początkujących. -
--Możesz odwoływać się do następujących zasobów jeśli czujesz, że ten przewodnik nie spełnia wszystkich twoich oczekiwań. -
--Poniższa strona podsumowuje główne możliwości, które zostały wprowadzone w każnym z wydań PRADO. -
- --PRADO 3.0 nie jest kompatybilne wstecz z wcześniejszymi wersjalmi PRADO. -
--Dobrą wiadomością jest, że własciwości oraz zdarzenia większości kontrolek pozostają niezmienione a składnia szablonów kontrolek pozostaje w dużej mierze niezmieniona. Dlatego więc, wiedza develoiperów dotycząca wcześniejszych wersji PRADO wciąż znajduje zastosowanie w wersji 3.0. -
--Kolejno podsumujemu najbardziej znaczące zmiany w wersji 3.0 aby pomóc developerom aktualizację ich aplikacji PRADO z wersji 2.x oraz 1.x jeśli wystąpi taka potrzeba. -
--Wersja 3.0 całkowicie zarzuciła potrzebę występowania pliku specyfikującego komponent. Polega ona obecnie bardziej na konwencji definiowania właściwości komponentu i jego zdarzeń. Uszczegóławiając, właściwość (ang. property) jest definiowana poprzez istnienie metod: getterów i/lub setterów (ang. getter and/or setter methods), natomiast zdarzenie jest zdefiniowane poprzez istnienie metod z przedrostniem on (ang. on-methods). Zarówno właściwości jak i nazwy zdarzeń są w wersji 3.0 nie są wrażliwe na wielkość liter. W konsekwencji developerzy, są teraz zobowiązaniu do troszczenia się konwersję typów, kiedy właściwość komponentu jest ustawiana. Na przykład, następujący kod jest używany do zdefiniowania metody będącej setterem dla właściwości Enabled (przyp. tłum. ang enabled - dostępny, umożliwiony) TControl, która jest typu boolowskiego: boolean, -
--gdzie TPropertyValue::ensureBoolean() jest używana aby ipewnić się, że wartość wejściowa jest typu boolean. Dziejse się tak ponieważ, gdy watość jest konfigurowana w szablonie, wartość łańcuchowa (ang. string value) jest przekazywana do settera. W poprzednich wersjach PRADO znało typ właściwości bazując na pliku specyfikacji i wykonywało konwersję typów za Ciebie. -
- --Kontroler aplickacji implementuje teraz architekturę modułową. Moduły mogą być podłączone i skonfigurowane w specyfikacji aplikacji. Każdy moduł obejmuje określoną funkcjonalność a wszystkie one są koordynowane przez cykl życia aplickacji (ang. application lidecycle). Konecpcja modułów w wersji 2.x została zastąpiona w wersji 3.0 przez katalogi stron (ang. page directories). W wyniku tego format specyfikacji aplikacji (ang. application specification) w wersji 3.0 różni się od wersji wcześniejszych. -
- --Strony w wersji 3.0 są zorganizowane w katalogach, które mogą zostać porównane do koncepcji modułów w wersji 2.x. Strony są dostępne poprzez ścieżkę do nich. Na przykład, adres URL index.php?page=Kontrolki.Przyklady.Przyklad1 będzie używany do dostępu do strony nazwanej Przyklad1 przechowywanej w katalogu [ŚcieżkaBazowa]/Kontrolki/Przyklad, gdzie [ŚcieżkaBazowa] oznacza główny katalog stron (ang. root page path). Nazwa pliku szablonu strony musi kończyć się rozszerzeniem .page, głównie, aby odróżnić szablony stron od "niestronowych" (ang. non-paged) szablonów kontrolek, których nazwa musi być zakończona rozszerzeniem .tpl. -
- --Wersja 3.0 redefiniuje zależności pomiędzy kontrolkami. W szczególności, relacja rodzic-dziecko (parent-child relationship teraz odnosi się do relacji zawierajacej się w prezentacji kontrolek. Nowa relacja naming-container (przyp tłum. ang. naming - nazywanie, container - kontener) została wprowadzona dla lepszego zarządzania identyfikatorami ID kontrolek. Aby uzyskać więcej informacji zobacz sekcję kontrolki. -
- --Składnia szblonów kontrolek w wersji 3.0 została podobna do tej we wcześniejszych wersjach, ale z wieloma rozszerzeniami. Główna zmiana dotyczy wyrażenia wiążącego dane (ang. databind expression), które jest wykonywane następująco -
--Tagi formuł oraz wyrażeń (ang. expression and statement tags) zostały zmienione w podobny sposób. Aby uzyskać więcej szczegółów zobacz sekcję definiowanie szablonów (ang. template definition). -
--Tematy w wersji 3.0 są definiowane jak szablony kotnrolek z kilkoma obwarowaniami. -
- --本教程旨在帮助您快速掌握用PRADO v3.x构建Web应用。 -
--如果您觉得本教程没能满足您的需求,您也可以参考以下资源: -
-