Archive for the Framework Category

How to use amazon s3 using php

Posted by mahmud ahsan on February 12, 2010 in Framework, PHP | 2 Comments

amazons3Amazon Simple Storage Service is designed to make web-scale computing easier for developers. If you have a medium to high traffic web application then S3 will help you to load your content faster. Here contents may be files, photos, videos or even text. Normally S3 is used for files, photos and videos. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites.

3 months ago I developed a project for one of my client using Zend Framework. 1 week ago he told me to change the photo uploading system from hosting disk to amazon s3. Yesterday I implemented s3 for him and found its really very easy using Zend framework.

Here I’m describing how did I do so:

Continue

Zend Framework book

Posted by mahmud ahsan on September 25, 2009 in Framework | 3 Comments

zend_framework_book Packt Publishing published a new book “Zend Framework 1.8 Web Application Development“.

If you want to design, develop, and deploy feature-rich PHP web applications with this MVC framework, create a real-life storefront application from design to deployment and explore all the major aspects of the Zend Framework. This book is for you Zend Framework 1.8 Web Application Development

I’m one of the technical reviewer of this book, and I found this is a nice book for PHP web developers who want to get started with Zend Framework

Magento – eCommerce Software for Growth

Posted by mahmud ahsan on February 5, 2009 in Framework | No Comments

win2009_home_slide1

So far now, some days ago I analyzed the base of Magento. You can download this web application from here: http://www.magentocommerce.com/

So, what is Magento?

Magento is an Open Source ecommerce web application launched on March 31, 2008. It was created by Varien, building on components of the Zend Framework.

Magento is available under the Open Software License version 3.0

So basically it is an eCommerce open source web application like OSCommerce. Now, we’ll see the features of it:

General Feature List

  • Site Management
  • Mobile Commerce
  • Marketing Promotions and Tools
  • International Support
  • Search Engine Optimization
  • Checkout
  • Shipping
  • Payment
  • Order Management
  • Customer Service
  • Customer Accounts
  • Catalog Management
  • Catalog Browsing
  • Product Browsing
  • Analytics and Reporting
  • Customer Reviews
  • Cross-Selling
  • Customer Tags
  • Compare Products
  • Wishlists

You could see the complete feature list from here: http://www.magentocommerce.com/doc/magento-feature-list.pdf

A comment about Magento:

Magento is going to win the eCommerce software war, hands down. I’ve never seen another ecommerce platform so well architected and well designed as Magento.
- Jack Aboutboul, Red Hat

I attracted on the core architecture of Magento. Many open source web application doesn’t start from a good architecture so when that becomes popular, people need to adjust to use that. Magento is different because it’s based on Zend Framework. So, this application is built upon a good structure. I hope to write more in future about this application.

Eclipse vs NetBeans IDE for php, css, html, javascript

Posted by mahmud ahsan on January 25, 2009 in Framework, PHP | 1 Comment

I’ve used 4 IDEs for php based web application development. In my old laptop, I used notepad++ to write php, html, javascript, css code. notepad++ is a very light weight IDE and takes less resources.

**notepad++ IDE is best if your laptop/pc’s configuaration is old.

Continue

Design your web application before developing

Posted by mahmud ahsan on September 26, 2008 in Framework, PHP | 6 Comments

As a professional web application developer, we’ve to develop application faster with maintaining the quality, security and performance. Once upon a time, when people develop web application without further planning about structure and maintenance. Now the situation is quite different. Today’s web application are very complex. Now it’s very important to structure the application. Now I’m describing about a case study:

Case 1: Suppose you’re a team leader. Your company tell you to develop a facebook application with some requirements. You’ve a good team to develop this app. Now what will you do?

Solution: You may use a framework and guide your team to fulfill the company’s requirement to develop your application like this.

web application structure 1

web application structure 1

So, you maintain a good structure and develop a good application.

Case 2: After some days, your company tell you to develop another application that has the same functionality with this application only view and some minor features are changed.

Solution: You and your team copy APP 1‘s source code, modify that, maintain the core and change the view.  So You develop another application APP 2 that has it’s own core.

Case 3: Your company assign you to develop another 4 application like this.

Solution: You and your team develop those application like the same process. Now You’ve five applications like APP 1, APP 2, APP 3, APP 4, APP 5.

Case 4: After 2/3 months someone found some bugs in your APP 1 and notify you. Then what will you do?

Solution: You fixed the bugs for APP 1, and recursively apply the same process with other apps APP 2, APP 3 …..

Case 5: Suddenly facebook company announce to change their core library and deprecated some functions and updated some new APIs. Now what will you do?

Solution: You’ll identify the problems, replaced the core library for APP 1, integrated the new APIs by replacing the old APIs. And you recursively apply the same process with your other apps APP 2, APP 3 ….

So, I think now you realize the matter why I’m describing this situation. This type of situation sometimes happen in software firm. But If your team leader and senior developers plan and design before developing application, this type of recurrence situation might not happen.

For team leader and senior developers:

  1. Before developing any application, first time try to fully understand what is the future of this app. Would we need develop similar apps in future. Try to capture and visualize the full requirements from your company.
  2. Seniors and team leader have more responsibilities than junior developers. So, you should think and should chose a well known and best framework to give structure in your app.
  3. In professional life, developing from scratch is a very bad idea. Because you should consider security, maintainability, performance, structure and helpers. In student life or if you research then developing from scratch  is essential.
  4. Over confident is very crucial. Try to understand others. By consulting, you could choose the best solution. Value others if you want to be a valuable person.

Now, for Case 1 at the first time the best solution might be like this.

Solution: You consult with your company about the requirements and future of the new app. If your company tell you that in near future, you have to develop similar app, then you have to make another structure like this.

Web application structure 2

Web application structure 2

That’s to say, you defined the core library, helper functions, common functionalists and moved in a common directory. Then when any new and similar app need to develop, you just use the core or inherit the base. By this way, you solved several common problems.

  1. When core library changed, you update in one place. And all the applications become updated.
  2. When any bug identified in core, you changed in one place and all the applications become updated.
  3. You reduce the code.
  4. You give a maintainable and robust structure for these similar apps.

So we all should remember, “Design your web application before developing“.

FTechdb.com using Zend Framework

Posted by mahmud ahsan on August 15, 2008 in Framework, PHP | No Comments

When I was a university student, I developed http://www.ftechdb.com and sell my mobile applications (java application developed by me). That time the site was too amateur. However 2 years passed and I decided to re-design the site. Finally I redesigned and implemented the site using Zend Framework.

Presentation of Zend Framework in Trippert Labs, Bangladesh

Posted by mahmud ahsan on August 11, 2008 in Framework, PHP | 1 Comment

Today I’m going to give a presentation about Zend Framework in Trippert Labs, Inc (Bangladeshi Branch). Here I shares my slides with my blog readers:

[slideshare id=578543&doc=zfmahmud-1220333750065974-9&w=425]

basic-application-using-zend-framework

Basic application development using Zend Framework

Posted by mahmud ahsan on July 27, 2008 in Framework, PHP | 8 Comments

Zend Framework Logo


Download PDF of Basic application development using Zend Framework

Once upon a time, we develop web application using raw level php code. But when the application expand it becomes unmanageable. Now it is a trend to develop web application using a framework. And I found Zend Framework is one of the best framework among all.

Here I given a short tutorial composed by myself to develop web application using Zend framework. 

Download PDF of Basic application development using Zend Framework

Zend Framework for developing Web Application using PHP

Posted by mahmud ahsan on July 17, 2008 in Framework, PHP | 2 Comments

Zend Framework

There are many frameworks for developing web applications using PHP. CodeIgniter, CakePHP, Symphony and more.. I’ve not much experience in all the frameworks. I’ve a good experience in using CodeIgniter and some small MVC frameworks.

Recently, I noticed Zend Framework is a nice framework to develop web application. Zend finally give special notice to develop a very good framework. And I hope very soon, Zend Framework will lead among all. I found this framework is very essential and powerful. After seeing the features, code-conventions and documentation I give 9 out of 10 grade to this framework.

What is Zend Framework?

  1. Zend Framework is a simple, straightforward, open-source software framework for PHP 5 designed to eliminate the tedious details of coding and let you focus on the big picture.
  2. It follows Model-View-Controller (MVC)
  3. ZF follows good coding-convention.

Documentation:
Documentation is really rich. Its not take much time to grasp a basic concept of this framework to develop application. Because there is quick start, api documentation, component based documentation. Overall I rate 10 out of 10 grade in documentation.

Goals of Zend Framework Components:

  1. Zend_Acl

    Zend_Acl provides lightweight and flexible access control list (ACL) functionality and privileges management.

  2. Zend_Auth

    Zend_Auth provides an API for authentication and includes concrete authentication adapters for common use case scenarios, as well as “Identity 2.0″ adapters such as OpenID and Microsoft InfoCard.

  3. Zend_Cache

    Zend_Cache provides a flexible approach toward caching data, including support for tagging, manipulating, iterating, and removing subsets.

  4. Zend_Config

    Zend_Config simplifies the use of configuration data for web applications.

  5. Zend_Controller and Zend_View

    These components provide the infrastructure for a Model-View-Controller (MVC) website.

  6. Zend_Date

    Zend_Date offers a detailed but simple API for manipulating dates and times.

  7. Zend_Db

    This is a lightweight database access layer, providing an interface to PDO and other database extensions in PHP. It includes adapters for each database driver, a query profiler, and an API to construct most SELECT statements.

  8. Zend_Db_Table

    The Zend_Db_Table component is a lightweight solution for object-oriented programming with databases.

  9. Zend_Feed

    This component provides a very simple way to work with live syndicated feeds.

  10. Zend_Filter and Zend_Validate

    These components encourage the development of secure websites by providing the basic tools necessary for input filtering and validation.

  11. Zend_Filter_Input

    This is a configurable solution for declaring and enforcing filtering and validation rules. This component serves as a “cage” for input data, so they are available to your application only after being validated.

  12. Zend_Form

    This component provides an object-oriented interface for building forms, complete with input filtering and rendering capabilities.

  13. Zend_Gdata (Zend Google Data Client)

    The Google Data APIs provide read/write access to such services hosted at google.com as Spreadsheets, Calendar, Blogger, and CodeSearch.

  14. Zend_Http_Client

    This component provides a client for the HTTP protocol, without requiring any PHP extensions. It drives our web services components.

  15. Zend_Json

    Easily convert PHP structures into JSON and vice-versa for use in AJAX-enabled applications.

  16. Zend_Layout

    Easily provide sitewide layouts for your MVC applications.

  17. Zend_Loader

    Load files, classes, and resources dynamically in your PHP application.

  18. Zend_Locale

    Zend_Locale is the Framework’s answer to the question, “How can the same application be used around the whole world?” This component is the foundation of Zend_Date, Zend_Translate, and others.

  19. Zend_Log

    Log data to the console, flat files, or a database. Its no-frills, simple, procedural API reduces the hassle of logging to one line of code and is perfect for cron jobs and error logs.

  20. Zend_Mail and Zend_Mime

    Almost every Internet application needs to send email. Zend_Mail, assisted by Zend_Mime, creates email messages and sends them.

  21. Zend_Measure

    Using Zend_Measure, you can convert measurements into different units of the same type. They can be added, subtracted, and compared against each other.

  22. Zend_Memory

    Zend_Memory offers an API for managing data in a limited memory mode. A PHP developer can create a Zend_Memory object to store and access large amounts of data, which would exceed the memory usage limits imposed by some PHP environments.

  23. Zend_Pdf

    Portable Document Format (PDF) from Adobe is the de facto standard for cross-platform rich documents. Now, PHP applications can create or read PDF documents on the fly, without the need to call utilities from the shell, depend on PHP extensions, or pay licensing fees. Zend_Pdf can even modify existing PDF documents.

  24. Zend_Registry

    The registry is a container for storing objects and values in the application space. By storing an object or value in the registry, the same object or value is always available throughout your application for the lifetime of the request. This mechanism is often an acceptable alternative to using global variables.

  25. Zend_Rest_Client and Zend_Rest_Server

    REST Web Services use service-specific XML formats. These ad-hoc standards mean that the manner for accessing a REST web service is different for each service. REST web services typically use URL parameters (GET data) or path information for requesting data and POST data for sending data.

  26. Zend_Search_Lucene

    The Apache Lucene engine is a powerful, feature-rich Java search engine that is flexible about document storage and supports many complex query types. Zend_Search_Lucene is a port of this engine written entirely in PHP 5.

  27. Zend_Service: Akismet, Amazon, Audioscrobbler, Delicious, Flickr, Nirvanix, Simpy, StrikeIron and Yahoo!

    Web services are important to the PHP developer creating the next generation of mashups and composite applications. The Zend Framework provides wrappers for service APIs from major providers to make it as simple as possible to use those web services from your PHP application.

  28. Zend_Session

    Zend_Session helps manage and preserve session data across multiple page requests by the same client.

  29. Zend_Translate

    The Zend_Translate component provides the Zend Framework with message translation functionality.

  30. Zend_Uri

    Zend_Uri is a component that aids in manipulating and validating Uniform Resource Identifiers (URIs). Zend_Uri exists primarily to service other components such as Zend_Http_Client but is also useful as a standalone utility.

  31. Zend_XmlRpc

    Zend_XmlRpc makes it easy to communicate with and create XML-RPC services from PHP.