Creating a Web Application Contents

Total Page:16

File Type:pdf, Size:1020Kb

Creating a Web Application Contents Creating a Web Application Jesse Young Chief Technology Officer, Envaya [email protected] For the COSTECH Teknohama Incubator in Dar es Salaam August 2011 Contents Overview ............................................................................................................................................. 2 About the Author ................................................................................................................................ 2 Pre‐Existing Software Packages and Services ..................................................................................... 2 Hosting ................................................................................................................................................ 3 Domain Name Registration ................................................................................................................. 7 Programming Languages and Frameworks ......................................................................................... 8 Server Operating Systems ................................................................................................................. 12 HTTP Server Software ....................................................................................................................... 13 Data Storage...................................................................................................................................... 15 Development Tools ........................................................................................................................... 15 Source Control .................................................................................................................................. 15 Testing ............................................................................................................................................... 15 Deployment Tools ............................................................................................................................. 15 Data Backup ...................................................................................................................................... 15 Security ............................................................................................................................................. 15 Service Monitoring ............................................................................................................................ 15 Performance ..................................................................................................................................... 15 Scaling ............................................................................................................................................... 15 Email on your Domain ....................................................................................................................... 15 SMS and Email Integration ................................................................................................................ 15 1 Overview This paper is intended for anyone seeking to create a web‐based software application. It introduces the basic considerations involved in creating a web application, discusses various choices that you will have to make, and lists the major benefits and drawbacks of different options. By summarizing the most important common knowledge and best practices of web application development in one place, it is intended to help you make informed decisions when creating a web application under constraints such as time, money, and available technical capacity. Although parts of this paper assume knowledge of certain technology concepts and terminology, it is intended to be accessible to non‐technical readers as well. Note that this paper is not a detailed “how‐to” guide; instead, this paper introduces the broad concepts and terminology, so that you can easily conduct further research online and learn from the numerous other resources that are already available. In particular, this paper does not provide training on how to actually program a web application. Most programming frameworks used in web development already have many tutorials and resources readily available on the web. About the Author Jesse has over 12 years of experience in developing large real‐world web applications, using a variety of programming languages including Perl, C#, Python, and PHP. Jesse has a B.S. in Electrical Engineering and an M.S. in Computer Science from Stanford University, and has previously worked as a software engineer at Microsoft, VMWare, and Apture. Currently Jesse is the Chief Technology Officer at Envaya, a technology platform for civil society organizations in East Africa. Pre‐Existing Software Packages and Services Before deciding to create a web application from scratch, it is important to research existing software or services that are similar to what you want to build. This could include: • software that you could use without any modifications • open‐source software that you could modify to fit your needs • services where you could register as a customer For example, if the primary purpose for your web application is publishing content on the web, then open‐source content management system (CMS) software such as Wordpress or Drupal will typically be a good place to start. Or, you could use a hosted web‐publishing service (e.g. Weebly) that requires no technical expertise, though at the expense of not allowing you to make changes to the software. By researching existing software and services, you may find that you do not really need to develop your own software at all. 2 Hosting All web applications must contain, at the very least, a server (also known as a host) located at some IP address that responds to requests over HTTP. An HTTP server can take a wide range of forms: • A regular laptop connected to a wireless or wired network • A dedicated desktop computer plugged into broadband internet in your office • A physical server that you rent inside a data center somewhere • A physical server where the operating system is shared with many other users • A virtual server where you have the operating system to yourself, but the physical machine is shared with other users • A virtual server that is automatically provisioned as necessary by a “cloud” provider Each of these methods for setting up an HTTP server has different tradeoffs. Criteria for evaluating hosting methods and providers include: • Price: setup costs, monthly fees, bandwidth/CPU usage costs • How reliable is the method in keeping your site online • Support for your programming languages, software tools, and libraries • Application performance / number of users that can be supported per server • How easily you can scale to multiple servers when your traffic increases • How easily can you switch to a different hosting method if necessary • Network bandwidth and latency • Setup time • Required technical knowledge The best choice for hosting your application will depend on your own needs and constraints. Option 1: A regular laptop connected to a wireless network Almost any internet‐connected computer, regardless of whether it’s running Windows, Mac, or Linux, can become a web server simply by installing HTTP server software. Apache HTTP Server is a popular server that can be installed on any of these operating systems, although there are many others (discussed in the HTTP Server Software section on page 13). In most cases when your laptop is connected to the internet, your router or internet service provider will assign it a “private” IP address (commonly 192.168.x.x or 10.0.x.x)1. These IP addresses are only accessible within your network, so any computer outside your network will be unable to reach the HTTP server on your laptop. Advantages Disadvantages • Easy to set up • Can’t use it to deploy web applications • Most HTTP server software is free because not connected to internet with • Good for testing your applications on consistent public IP address your own computer or within a home/office network 1 From a command prompt, you can determine your IP address using ipconfig (Windows) or ifconfig (Mac/Linux) 3 Option 2: A dedicated desktop computer plugged into broadband internet in your office For some purposes, a regular desktop computer may be sufficient to host a web application. Simply connect a desktop computer to a network that assigns it a consistent public IP address (such as the COSTECH building), and make sure it stays powered on all the time. However, this is easier said than done. Advantages Disadvantages • Full control over hardware • Electricity and internet connection • No cost for hosting provider probably less reliable than data center • Internet connection may be slower than a data center • May require a lot of work to make sure it stays online • Cost of computer, electricity Option 3: Managed or Colocation Hosting Service Another option is to delegate the task of managing the physical server to a dedicated hosting service (also known as a managed hosting service), where you have full control over the software, but they do all the work to make sure it stays online 24/7. (Managed hosting is very similar to “colocation” hosting, where you own the hardware and store it in the provider’s data center.) Companies that provide hosting in this way include Rackspace, Contegix, Simbanet, habari.co.tz, and many others. However, these hosting services typically cost around $250 to $500/month per server, which is expensive relative
Recommended publications
  • Bakalářská Práce
    TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií BAKALÁŘSKÁ PRÁCE Liberec 2013 Jaroslav Jakoubě Příloha A TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Studijní program: B2646 – Informační technologie Studijní obor: 1802R007 – Informační technologie Srovnání databázových knihoven v PHP Benchmark of database libraries for PHP Bakalářská práce Autor: Jaroslav Jakoubě Vedoucí práce: Mgr. Jiří Vraný, Ph.D. V Liberci 15. 5. 2013 Prohlášení Byl(a) jsem seznámen(a) s tím, že na mou bakalářskou práci se plně vztahuje zákon č. 121/2000 Sb., o právu autorském, zejména § 60 – školní dílo. Beru na vědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé bakalářské práce pro vnitřní potřebu TUL. Užiji-li bakalářskou práci nebo poskytnu-li licenci k jejímu využití, jsem si vědom povinnosti informovat o této skutečnosti TUL; v tomto případě má TUL právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše. Bakalářskou práci jsem vypracoval(a) samostatně s použitím uvedené literatury a na základě konzultací s vedoucím bakalářské práce a konzultantem. Datum Podpis 3 Abstrakt Česká verze: Tato bakalářská práce se zabývá srovnávacím testem webových aplikací psaných v programovacím skriptovacím jazyce PHP, které využívají různé knihovny pro komunikaci s databází. Hlavní důraz při hodnocení výsledků byl kladen na rychlost odezvy při zasílání jednotlivých požadavků. V rámci řešení byly zjišťovány dostupné metodiky určené na porovnávání těchto projektů. Byl také proveden průzkum zjišťující, které frameworky jsou nejvíce používané. Klíčová slova: Testování, PHP, webové aplikace, framework, knihovny English version: This bachelor’s thesis is focused on benchmarking of the PHP frameworks and their database libraries used for creating web applications.
    [Show full text]
  • Appendix a the Ten Commandments for Websites
    Appendix A The Ten Commandments for Websites Welcome to the appendixes! At this stage in your learning, you should have all the basic skills you require to build a high-quality website with insightful consideration given to aspects such as accessibility, search engine optimization, usability, and all the other concepts that web designers and developers think about on a daily basis. Hopefully with all the different elements covered in this book, you now have a solid understanding as to what goes into building a website (much more than code!). The main thing you should take from this book is that you don’t need to be an expert at everything but ensuring that you take the time to notice what’s out there and deciding what will best help your site are among the most important elements of the process. As you leave this book and go on to updating your website over time and perhaps learning new skills, always remember to be brave, take risks (through trial and error), and never feel that things are getting too hard. If you choose to learn skills that were only briefly mentioned in this book, like scripting, or to get involved in using content management systems and web software, go at a pace that you feel comfortable with. With that in mind, let’s go over the 10 most important messages I would personally recommend. After that, I’ll give you some useful resources like important websites for people learning to create for the Internet and handy software. Advice is something many professional designers and developers give out in spades after learning some harsh lessons from what their own bitter experiences.
    [Show full text]
  • Laravel - My First Framework Companion for Developers Discovering Laravel PHP Framework
    Laravel - my first framework Companion for developers discovering Laravel PHP framework Maksim Surguy This book is for sale at http://leanpub.com/laravel-first-framework This version was published on 2014-09-05 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. ©2014 Maksim Surguy Tweet This Book! Please help Maksim Surguy by spreading the word about this book on Twitter! The suggested hashtag for this book is #laravelfirst. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#laravelfirst Also By Maksim Surguy Integrating Front end Components with Web Applications Contents Introduction ................................................. i About the author ............................................. i Prerequisites ................................................ ii Source Code ................................................ ii 1. Meeting Laravel ............................................. 1 1.1 Introducing Laravel 4 PHP framework .............................. 1 1.1.1 Laravel’s Expressive code .................................. 2 1.1.2 Laravel applications use Model-View-Controller pattern ................. 3 1.1.3 Laravel was built by a great community .......................... 3 1.2 History of Laravel framework ................................... 4 1.2.1 State of PHP frameworks world before Laravel 4 ..................... 4 1.2.2 Evolution of Laravel framework .............................. 4 1.3 Advantages of Using Laravel ................................... 5 1.3.1 Convention over configuration ............................... 5 1.3.2 Ready out of the box .................................... 6 1.3.3 Clear organization of all parts of the application ....................
    [Show full text]
  • Introducting Innovations in Open Source Projects
    Introducing Innovations into Open Source Projects Dissertation zur Erlangung des Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) am Fachbereich Mathematik und Informatik der Freien Universität Berlin von Sinan Christopher Özbek Berlin August 2010 2 Gutachter: Professor Dr. Lutz Prechelt, Freie Universität Berlin Professor Kevin Crowston, Syracuse University Datum der Disputation: 17.12.2010 4 Abstract This thesis presents a qualitative study using Grounded Theory Methodology on the question of how to change development processes in Open Source projects. The mailing list communication of thirteen medium-sized Open Source projects over the year 2007 was analyzed to answer this question. It resulted in eight main concepts revolving around the introduction of innovation, i.e. new processes, services, and tools, into the projects including topics such as the migration to new systems, the question on where to host services, how radical Open Source projects can change their ways, and how compliance to processes and conventions is enforced. These are complemented with (1) the result of five case studies in which innovation introductions were conducted with Open Source projects, and with (2) a theoretical comparison of the results of this thesis to four theories and scientific perspectives from the organizational and social sciences such as Path Dependence, the Garbage Can model, Social-Network analysis, and Actor-Network theory. The results show that innovation introduction is a multifaceted phenomenon, of which this thesis discusses the most salient conceptual aspects. The thesis concludes with practical advice for innovators and specialized hints for the most popular innovations. 5 6 Acknowledgements I want to thank the following individuals for contributing to the completion of this thesis: • Lutz Prechelt for advising me over these long five years.
    [Show full text]
  • Process Innovations for Security Vulnerability Prevention in Open Source Web Applications
    Process Innovations For Security Vulnerability Prevention In Open Source Web Applications Diploma Thesis Florian Thiel April 30, 2009 Department of Mathematics and Computer Science Institute for Computer Science Software Engineering Working Group Responsible University Professor: Prof. Dr. Lutz Prechelt Supervisor: Dipl.-Medieninf. Martin Gruhn This work is licensed under the Creative Commons Attribution 3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Please note: Pictures in this work are not licensed under a Creative Commons Attribution license and may not be copied as freely as the rest of this work. Comic strips in this work are by Randall Munroe of xkcd and licensed under a Creative Commons Attribution-NonCommercial 2.5 license. The picture on the title page is by Matteo Carli and licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 license. It is available at http://www.flickr.com/photos/matteocarli/2489736887/. Affirmation Of Independent Work I hereby declare that I wrote this thesis myself without sources other than those indicated herein. All parts taken from published and unpublished scripts are indicated as such. Berlin, April 30, 2009 ii Acknowledgments First of all, I would like to thank Professor Lutz Prechelt who suggested and supported the topic of this thesis and enabled me to spend months of interesting research in the fascinating world of security research. I also owe a lot to Martin Gruhn, my supervisor, who provided lots of feedback and was especially helpful to flesh out the argumentation and create a good narrative.
    [Show full text]
  • Web Technology Competency Object GFT Website – New Look Re-Launched
    Web Technology Competency object GFT Website – new look re-launched Technology: Java An interactive web portal developed using the Day Communiqué Content Management system to facilitate easy means of content administration and publishing by the content authors. § The project involves providing a reliable means of implementing the teaser logic, internationalization, user management from the content authors’ and end users’ perspective and easy storage and retrieval of media content. § The solution is browser based and available over the internet to all users world wide in addition to the company partners. § Technologies: Java, JSP, ESP, HTML, CSS, JQuery, MySQL Chola Serviced Appartment Technology: WordPress Chola offers first and finest apartments in Trichy with quality service. By developing the side for them, we used a trusted combination out of HTML5/CSS3/JQuery/PHP and WordPress. Technology Used: WordPress Client: Chola Serviced Apartment Technologies: Java, JSP, ESP, HTML, CSS, JQuery, MySQL Panacea– Tec Technology: Java Gluco-meter or Pressure meter readings transferred to Mobile device (Android) via bluetooth. n Panacea-Tec mobile app reads those data and sends to central database using java web service. n User can view the report, reading details using Panacea-Tec web application. n User can manage the reading, caregivers / Professional caregivers, profile and lifestyle. n Technologies: Java, Spring, Hybernate, PostGresSql, HTML, Twitter bootstarp GFT GFGFT T Website – new look re-launched Website – new look re-launched Technology: Java Technology: Java Gluco-meter or Pressure meter readings transferred to Mobile device (Android) via bluetooth. n Panacea-Tec mobile app reads those data and sends to central database using java web service.
    [Show full text]
  • Absolvování Individuální Odborné Praxe Individual Professional Practice in the Company
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by DSpace at VSB Technical University of Ostrava 1 VŠB – Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Absolvování individuální odborné praxe Individual Professional Practice in the Company 2011 Marcel Hlavina 2 Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. V Ostravě 5. května 2011 . 3 Děkuji Fakultě elektrotechniky a informatiky Vysoké školy Báňské – Technické univerzity Ostrava, že mi umožnila absolvování bakalářské praxe ve firmě. Dále děkuji firmě Webdevel s.r.o., že jsem mohl odbornou praxi vykonávat právě u této firmy. 4 Abstrakt Tato práce popisuje odbornou praxi ve firmě Webdevel s.r.o., kterou jsem vykonával na pozici Developer. V rámci této odborné praxe jsem provedl analýzu systému PictureUp pro nahrávání, prohlížení a archivaci obrázků. Dále jsem v rámci odborné praxe navrhl zlepšení systému PictureUp, převedl původní data do upgradeované verze a vytvořil administrační rozhraní a doplňkové analytické funkce. Klíčová slova: PictureUp, Kohana, informační systém, databáze, administrační rozhraní, framework, wireframe, Webdevel s.r.o. Abstract This thesis describes professional practice in the company Webdevel s.r.o., which I performed on the Developer position.Within this professional practice, I analyzed PictureUp system for recording, viewing and archiving files. Then I suggested within professional practice
    [Show full text]
  • Laravel - My First Framework Companion for Developers Discovering Laravel PHP Framework
    Laravel - my first framework Companion for developers discovering Laravel PHP framework Maksim Surguy This book is for sale at http://leanpub.com/laravel-first-framework This version was published on 2014-09-05 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. ©2014 Maksim Surguy Tweet This Book! Please help Maksim Surguy by spreading the word about this book on Twitter! The suggested hashtag for this book is #laravelfirst. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#laravelfirst Also By Maksim Surguy Integrating Front end Components with Web Applications Contents Introduction ................................................. i About the author ............................................. i Prerequisites ................................................ ii Source Code ................................................ ii 1. Meeting Laravel ............................................. 1 1.1 Introducing Laravel 4 PHP framework .............................. 1 1.1.1 Laravel’s Expressive code .................................. 2 1.1.2 Laravel applications use Model-View-Controller pattern ................. 3 1.1.3 Laravel was built by a great community .......................... 3 1.2 History of Laravel framework ................................... 4 1.2.1 State of PHP frameworks world before Laravel 4 ..................... 4 1.2.2 Evolution of Laravel framework .............................. 4 1.3 Advantages of Using Laravel ................................... 5 1.3.1 Convention over configuration ............................... 5 1.3.2 Ready out of the box .................................... 6 1.3.3 Clear organization of all parts of the application ....................
    [Show full text]
  • Branko Dimitrijoski
    Branko Dimitrijoski 5ta Prilepska Brigada E-mail: [email protected] CONTACT 7500 Website: http://db.con.mk Prilep, Macedonia Phone: +38978383602 SUMMARY My current primary focus is Web Development. I like to make clean, cool, creative cross-browser compatible web sites, apps, blogs and logos with a focus on user-friendly interfaces. Work both as a team-member and individually. Specialties: - Web Design and optimization, front-end Development (JavaScript, jQuery, XHTML, HTML, CSS) - Web Development (PHP, Ajax-based technologies, ASP.NET) - Software Design - .NET Framework, .NET Compact Framework (C#) - Databases (MS Access, MySql, MSSQL) - Desktop/Winforms apps EDUCATION 2009 — 2010 Univerzitet 'Sv. Kliment Ohridski' Bsc, Teacher 2006 — 2009 Univerzitet 'Sv. Kliment Ohridski' BSc, Applied Computer Sciences 2002 — 2006 DSEMU "Riste Risteski - Ricko" Prilep High School, Computers and automatics WORK EXPERIENCE GrabIT LLC January 2011 — Present Software Developer Web technologies. Branko Dimitrijoski 1 TIM Kompjuteri March 2010 — July 2010 Servicer Service and sales of computers, designing and developing web pages, implementation and maintenance of computer networks, business cards, various IT supports. CERTIFICATIONS CCNA1 Networking Basics Cisco Networking Academy INTERESTS design, new technologies, programming, body building,music LANGUAGES English (Professional working proficiency) Macedonian (Native or bilingual proficiency) SKILLS & EXPERTISE PHP .NET .NET Compact Framework HTML + CSS SQL LINQ JavaScript/jQuery/AJAX/Mootools Photoshop Corel Draw AutoCAD XML SEO JSON WordPress MVC Web Services Windows Phone Android PHP Frameworks (Kohana, CodeIgniter) Branko Dimitrijoski 2 REFERENCES Najevtino.mk January 2012 to Present Members:Branko Dimitrijoski, Valentin Gjorgjioski, Vasil Zidrovski, Gabriela Pejoska, Darko Ilieski Najevtino.mk is a price comparison engine, designed to help users to decide in their online shopping, allowing online product comparison.
    [Show full text]
  • Quantum Node Portal- Devices and Information Management
    Internship Report Master in Computer Engineering-Mobile Computing Quantum Node Portal- Devices and Information Management Sujane Natasha Lopez Leiria, September 2017 i This page was intentionally left blank ii Internship report Master in Computer Engineering-Mobile Computing Quantum Node Portal- Devices and Information Management Sujane Natasha Lopez Internship Report developed under the supervision of Professor Doctor Joao Pereira, professor at the School of Technology and Management of the Polytechnic Institute of Leiria. Leiria, September 2017 iii This page was intentionally left blank iv Acknowledgments I would like to take this opportunity to express my sincere gratitude to the people who helped me through this internship work. I sincerely thank Professor Joao Pereira for guiding me throughout my Internship Period, Professor Carlos Grilo for giving me an opportunity to do an Internship in Domatica Global Solutions. Undoubtedly the main person CEO and Founder Samuel Silva who believed in me and made this Internship possible. The Director Pedro Pina for being a good team leader and guiding my work. Besides them, a big thanks to my team members, my colleagues in Domatica Global Solutions. I am thankful to my parents for being with me and supporting me unconditionally. v This page was intentionally left blank vi Abstract An Internship in a European Company for developing a Web application-Domatica Global Solutions, Lisbon was undertaken to complete the Master’s Degree of Computer Engineering-Mobile Computing in the Polytechnic Institute of Leiria. The team Domatica deals with providing IoT solutions used for monitoring, controlling and collecting the data from the IoT gateways. The present work aims to develop a Web application for client’s side.
    [Show full text]
  • Senior Full-Stack Web Developer
    Senior Full-Stack Web Developer Technology stack: PHP, SQL, Laravel, AngularJS, VueJS, Magento, Ruby on Rails Updated on: August 20, 2021 PROFILE CANDIDATE – HRISTIJAN S. #0012 CONSULTANT’S NOTES Software Developer with 10+ years of IT experience, profound in all the phases of Software Development Life Cycle (SDLC) for designing and building complex web applications and APIs. Perform business and technology analysis, system integration engineering, custom software development, support and maintenance, re-factoring and re-engineering, unit testing and validation of services and solutions. Very good experience in agile development and design for high volume and high-quality software components and applications. Always eager to learn new technologies. TECHNICAL SKILLS: Linux Distributions: Ubuntu server Web Server: Nginx, Apache Virtualization: Docker Scripting: bash Programming Languages: PHP, Ruby, JavaScript Databases: Redis, MongoDB, MySQL, MariaDB, Sqlite Frameworks: Silex, Laravel, Bootstrap, jQuery, jQueryUI Web related: HTML5, CSS3, JSON, XML July 22, 2021 1 PROFESSIONAL EXPERIENCE (TOTAL 10+) Company 1 – Current Senior PHP Developer 10 months Planning, estimating, and setting architecture for projects. Managing a small team of few developers. Responsibilities for deploying and releasing code. Included in Business analytics for new projects. Developing and maintaining projects from scratch and supporting ongoing projects as well. Company 2 Senior PHP Developer 1 year and 2 months Plan and develop a project from scratch using Yii2 framework. Build SPA using VueJS by implementing RESTful API. Develop and maintain new features on existing projects for the automobile industry. Writing unit and integration tests using PHPUnit and Codecept. Maintain technical documentation. Maintain and bugfix existing features. Company 3 Senior PHP Developer 6 months Develop new features for high scale and high traffic project.
    [Show full text]
  • Easy PHP Websites with the Zend Framework May 2009
    Jumpstart your web development career using popular technologies including PHP and MySQL, Ajax, RSS, PayPal™, the Facebook Platform®, Amazon Web Services™, the Google Maps API™, the Google Analytics™ web analytics service, the Google AdSense™ and Google AdWords™ advertising services, and more! Easy PHP Websites with the Zend Framework W. Jason Gilmore Bestselling author of Beginning PHP and MySQL, Third Edition WJ Gilmore, LLC www.easyphpwebsites.com Easy PHP Websites with the Zend Framework W. Jason Gilmore Easy PHP Websites with the Zend Framework Copyright © 2009 W. Jason Gilmore Published by W.J. Gilmore, LLC 1373 Grandview Avenue, Suite 214 Columbus, Ohio 43212 All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic, mechanical, photocopying, scanning, recording or otherwise, except as permit- ted under the 1976 United States Copyright Act, without the prior written permission of the copyright owner and the publisher. Trademarks: Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to no ben- efit of the trademark owner, with no intention of infringement of the trademark. Zend is a trademark of Zend Technologies Ltd. Amazon Web Services™ is a trademark of Amazon.com, Inc. Facebook® is a registered trademark of Facebook Inc. PayPal® is a registered trademark of PayPal, Inc. Google Maps API™, GoogleAdSense™, and Google AdWords™ are trademarks of Google Inc. All other trademarks are the property of their respective owners. W.J. Gilmore, LLC is not associated with any product or vendor mentioned in this book.
    [Show full text]