Friday, April 11, 2008

Symfony vs Zend framework vs Cakephp vs Others

You are here because you are trying to compare these PHP frameworks to each other. You are spending your time for nothing. These frameworks are all have their own features and purposes. Zend framework is not actually framework, it is just library of useful PHP components, While cakephp and symfony are port of ROR into PHP. If you are familiar with PHP, you don't need to start new language, ruby. Instead you can use either of them. My choice was Symfony. Maybe you will like cakephp. Do not try to compare them. Just start from one of them and you will see how easy to switch among them after learning the general MVC structure and usage. Just start.

Why you should use Symfony?

Actually, you can find plenty of reason why or why not you should use symfony framework. I think advantageous facts are much more than its disadvantages. Thierry Schellenbach has listed 10 reasons why you should use Symfony.
  1. Ajax and Javascript
  2. Instant admin interface: Advanced crud generation for admin interface
  3. Nice Urls: The Routing System
  4. Form Handling: Fillin, Validation and Creation
  5. Debugging on Steroids
  6. Internationalization and Localization (i18n & L10n)
  7. Caching
  8. Development environments
  9. Do not repeat yourself!
  10. Bridges to other frameworks
As you see, these reasons are enough for anyone who wish to rapidly develop web2.0 style web applications. Please find whole article from here.
http://www.mellowmorning.com/2007/08/18/ten-reasons-why-symfony-rocks-part-1/
http://www.mellowmorning.com/2007/09/08/ten-reasons-why-symfony-rocks-part-2/

Wednesday, April 2, 2008

SSH, SVN, Putty, Tortoise, and Zend Studio using svn+ssh://

Here’s some “how tos” that shows you how to set all up .
  • HowTo: Configure SVN+SSH with Subclipse on Windows
    Use ssh tunnelling to access a Subversion repository using SSH tunneling (i.e. with a subversion repository url of svn+ssh://myservername/myrepo) using the Subclipse subversion integration with Eclipse. I tried various things and used each of the three interfaces for configuring Subclipse (Window, Preferences..., Team, SVN).

  • How to setup svn+ssh
    This Guide will explain in easy steps how to setup your Linux server
    working for Subversion repository access through SSH client access.

    The svn+ssh:// protocol enables you to use SSH client access is throught
    the password prompt or using public private keys validation.
    No Public/private key generation is necessary to use the simplified
    svn+ssh protocol, but it might be a good idea, so that you can avoid
    password prompts all the time when using the SVN client access.

    This guide assumes that you know how to setup SSH with public/private
    keys on the server and on your client, and that you already have
    installed Subversion on your Linux box.
  • Secure SVN repository using svn+ssh
    This article assumes you have shell access on a remote server, where you intend to host your repository, and svn successfully installed. If you’ve got that, let’s right jump in!
  • Zend.com Forums: Zend Studio => HOW-TO: Using SVN+SSH in ZS 5.5 - More ssh, ssh-keygen, installing keys on client via Putty and Pageant, and using the ssh tunnel with Zend Studio. (This seems to be missing one step for Zend to work though which is included next)
  • SVN - SSH connection produces errors - This post from the Zend knowledgebase adds the mysterious SVN_SSH environment variable that magically makes this work for Zend. NOTE - while they show this using the path to TortoisePlink.exe, you may also use Putty’s Plink.

Tuesday, April 1, 2008

Useful articles and links 2

Multithreading in PHP with CURL
Most PHP developers have heard of the CURL extension for PHP or even used it. However it is mostly used in a basic form: to retrieve content from other websites or (RESTful) webservices. Ofcourse PHP itself offers several functions (like fopen or fsockopen) for getting this content, but they are all very basic. It is easy to run into limitations, for example you might want to define the request method or set another user agent (if you're building a webspider). This is where the curl extension kicks in. It is a separate library that has to be compiled with PHP in order to use it. The Curl extension has many functions and options which offer the developer more flexibility than the standard PHP functions.
Top 10 tips to get better PHP jobs - PHP Classes blog
1. Qualify yourself to stand out from the crowd
2. Stay upto date with the latest trends
3. Get more exposure to yourself in the PHP community
4. Advertise yourself conveniently
5. Do well on job interviews
6. Get ready to adapt to a new company culture
7. Evolve in your career making your employer profit more
8. Preserve your job
9. Get ready to move on to a better job
10. Other people tips
Scaling Out MySQL
With the recent acquisition of MySQL by Sun, there has been talk about the MySQL open source database now becoming relevant to large enterprises, presumably because it now benefits from Sun's global support, professional services and engineering organizations. In a blog post about the acquisition, SUN CEO Jonathan Schwartz wrote that this is one of his objectives.
33 Most Beautiful Javascript and Flash Galleries
This is Vivalogo's list of the most beautiful free Javascript and Flash gallery software.
Programming is all about passion.
Yes, you can be a programmer and get your job done without actually loving your job. You can clock in 9 am and clock out 5 pm and collect your salary at the end of the month, day in and day out but you don't enjoy the job at all. You can even climb up the management ladder and collect a far fatter paycheck after you grow tired of the technical things. Oh no, moving up the management ladder is the way to go (besides switching track, of course) if you don't love programming.
The 6 Most Important CSS Techniques You Need To Know
I thought I would give a quick tutorial, with examples, of the 6 most important CSS techniques that I think you need to know:

1. Get a Consistent Base Font Size
2. Get Consistent Margins
3. Set a Float to Clear a Float
4. Image Replacement
5. Faux Columns
6. CSS Sprites
Learning jQuery: A Roundup Roundup
I’ve been really getting into this jQuery phenomenon lately. jQuery is tightly tied to CSS, so if you are already comfortable with CSS and are looking for ways to expand your possibilities, jQuery is the place to be. You can achieve so many cool effects with it, and there are so many good learning resources out there for it I think it makes sense for serious web designers to start getting their hands dirty with this.

Monday, March 24, 2008

Useful articles and links

  • YUI 2.5.1 Released: Improved AIR support, JSON security patch, YUI Configurator, and bug fixes
    The YUI team released version 2.5.1 today and it’s available for download from SourceForge. This is a general patch release with 67 issues addressed throughout the library. 2.5.1 improves support for developers running YUI in Adobe’s AIR environment and addresses an important security issue raised over the weekend regarding JSON parsing in FireFox.
  • CSS Message Box collection
    Message boxes are useful elements to display status messages after or during a specific user request. Some days ago I wrote this post about how to implement a nice Ajax chains of effects (fade in, delay, fade out) for a common message box using mootools.
  • Top Open Source PHP Frameworks
    After RoR there are lot many frameworks in PHP which are either inspired by it or based on MVC pattern. Today I am throwing some light on some of it, which I came across (I mean heard) during my development experience in PHP. Here I am talking about next generation Open Source PHP frameworks which I came across.
  • Rails for PHP Developers
    This function reference covers commonly used PHP libraries to their closest Ruby equivalents. The reference is structured very closely against the PHP reference library.
  • To use Open Source or not
    We all know about open source software. The seemingly endless libraries of code and applications ready to use and implement into a business environment. Now colleague Myles Eftos has been discussing the use of open source applications and there implementations of late. This debate is an old as the hills, but still from time to time it’s good to pull it out of the draw, dust it off and start the discussion off again.
  • 10 tools for Modern PHP Development
    A simple list of tools for modern PHP development. There are alternatives to most of the tools, but I’ll list native PHP tools wherever possible.

Monday, February 25, 2008

Zend vs Symfony framework

I wrote about my decision to go on with Zend framework. Few days ago, i already posted an article, review, resources and tutorials about ZF here. Then i went through that articles and tutorials, spent about two weeks just for reading and learning. Let me say that related resources are not enough on Zend framework. It was very difficult for me to find howtos on any topic related to ZF.

Instead i visited Symfony website, and found there everything needed to go forward. There is a great online free book of Symfony, explaining everything in detail and tutorial directory, trac, wiki, and plugins repository. I warmed up very fast and changed my mind. Now i am far from that days, and very happy with Symfony Framework. And i know that i can integrate Zend framework components into my Symfony application when it is needed.

Symfony is a real MVC framework that makes web application development easier and faster, while Zend framework is not a framework, just container for useful components or libraries. Zend framework doesn't have command line tools, crud generator, plugins etc... which means you have to stilllll repeat your codes, and spend time on useless boring tasks like CRUD.

Sunday, December 2, 2007

30 AJAX Tutorials

AJAX Client-Server Communication Tutorials
Alternate Ajax Techniques, Part 1
By now, nearly everyone who works in web development has heard of the term Ajax, which is simply a term to describe client-server communication achieved without reloading the current page. Most articles on Ajax have focused on using XMLHttp as the means to achieving such communication, but Ajax techniques aren't limited to just XMLHttp. There are several other methods.

Dynamic HTML and XML: The XMLHttpRequest Object
Thanks to the little-known XMLHttpRequest object, an increasing range of web clients can retrieve and submit XML data directly, all in the background.

Guide to Using XMLHttpRequest
Using XMLHttpRequest with php and mysql

Make asynchronous requests with JavaScript and Ajax
Make asynchronous requests with JavaScript and Ajax. In this article, you'll begin with the most fundamental and basic of all Ajax-related objects and programming approaches: The XMLHttpRequest object.

Instant Tutorial
Simply put, AJAX allows you to make a call to an http server (typically an RSS feed or a webpage), get it’s content and load them into your existing page without having to refresh the whole page. This means that services like email don’t have to reload the whole page everytime you click a message, saving on bandwidth (loading the header/footer all over again) and making things more efficient.

Advanced Requests and Responses in AJAXR
In this article, Brett McLaughlin will show you the different status codes and demonstrate how browsers handle each and he will showcase the lesser-used HTTP requests that you can make with Ajax.

AJAX Drag and Drop Tutorials
Fun with Drag and Drop with RICO
For those of you who haven't seen Rico its another AJAX library, with quite a few cool extras. What I'm going to cover here is my first expiriment with Rico and their 'drag and drop' functionality. Getting basic drag and drop functionality is extremely easy with this library, and with just a bit of modification you can easily make it fit whatever you could want.

Drag & Drop Sortable Lists with JavaScript and CSS
In Web applications I've seen numerous, and personally implemented a few, ways to rearrange items in a list. All of those were indirect interactions typically involving something like up/down arrows next to each item. The most heinous require server roundtrips for each modification...boo.

Building a Drag-and-Drop Shopping Cart with AJAX
For this article, we'll create an interactive shopping experience allowing us to add items to our shopping basket by dragging and dropping them onto an icon of a shopping cart. We'll add AJAX functionality, allowing us to update our shopping cart without redrawing the entire screen.

AJAX Form Tutorials
Accessible Forms and Unobtrusive Javascript
I usually try to separate backend logic from the user interface logic when creating new PHP applications. I am pro fat gui and usually have a lot of client side scripting going on. I mostly use AJAX or other remote scripting techniques to call actions defined in the PHP backend.

Submit a form with Ajax
The new release of CakePHP (RC2) comes with a completely rewritten AjaxHelper::form() function (with the disadvantage that it breaks existing code).

Niceforms
Web forms. Everybody knows web forms. Each day we have to fill in some information in a web form, be it a simple login to your webmail application, an online purchase or signing up for a website. They are the basic (and pretty much the only) way of gathering information on the web.

AJAX File Uploader Tutorial
Better File Uploads with AJAX and JavaServer Faces
In this article, we will take fresh approach and implement an AJAX-powered component that will not only upload the file to server, but also monitor the actual progress of a file upload request in "real time."

AJAX Framework and Toolkit Tutorials
AJAX Tutorial with Prototype
I wanted to give an example of a good use of AJAX, and at the same time keep it simple. So I thought a good example would be to build a zip code verifier. As soon as the person enters the zip code it makes a request to the server to see if the zip code is in the database, and returns the city and state.

Learn xajax in 10 Minutes
xajax is designed to be extremely easy to implement in both existing web applications as well as new projects. You can add the power of xajax to nearly any PHP script in seven easy steps.

Using Ajax with PHP and Sajax
This tutorial explains how to use Ajax with PHP and introduces the Simple Ajax Toolkit (Sajax), a tool written in PHP that lets you integrate server-side PHP with JavaScript that makes this work.

Developer Notes for prototype.js
If you tried to use this library recently, you probably noticed that documentation is not one of its strongest points. As many other developers before me, I got my head around prototype.js by reading the source code and experimenting with it. I thought it would be nice to take notes while I learned and share with everybody else.

AJAX Getting Started Tutorial
AJAX:Getting Started
This article guides you through the AJAX basics and gives you two simple hands-on examples to get you started.

AJAX Image Gallery Tutorial
Ajax: What is it Good For?
AJAX image gallery tutorial with some history and commentary

AJAX Keyword Suggest Tutorials
How to create the Google Suggest feature with ASP.NET 2.0
Google Suggest seems to be the topic du jour in the blogosphere. It is a cool feature, but what I really enjoy is that it is yet another real world example of a "chubby" client.

Creating an Autosuggest Textbox with JavaScript, Part 1
Over the past year, Google has branched out from its search engine into other types of Web applications. One that caused a great deal of excitement among Web developers is Google Suggest. The basic idea is very simple: as you type, Google suggests search terms that come up with results. The first suggestion is filled into the textbox as you type while a list of several suggestions appears in a dropdown list beneath the textbox.

AJAX Live Search Tutorials
HOWTO: Animated Live Search / Ordered List
've been meaning for some time to give a little tutorial on the live search I created for this latest design. There are a few steps involved, and I'll do my best to explain each as we go.

Live search explained
Live search will gradually replace traditional search in web applications. As mainstream programs such as Windows Vista matures up to release, and live search is deeply integrated, we can expect more web pages implementing live search.

AJAX Rounded Corner Tutorials
Rico rounded corners without all of Rico
I extracted and made very minimal changes to Rico's rounded corner implementation so I could use it without needing all of Rico. Currently I'm using Script.aculo.us in all of my projects and didn't need all of Rico, but Script.aculo.us doesn't have a Rounded Corners implementation. All credit to the talented guys over at OpenRico for this!

AJAX Sorting Tutorial
Make all your tables sortable
Tutorial on how to make all your tables sortable

AJAX Tabbed Pages Tutorials
Building Tabbed Content
This workshop we will be building a tabbed content browser that's Ajax powered. When ever a user clicks a tab the Ajax will communicate with the server and send back the appropriate data for that tab. We will start this workshop off with the XHTML and CSS for the tabbed content browser.

Make an AJAX Website in Less than 10 Minutes
I've been toying around with AJAX apps and XMLHttpRequest but have wanted to put up a site that loads all of its content asynchronously. If you're like me and you learn best from working with examples you're only 10 minutes away from your first AJAX website.

Very Dynamic Web Interfaces
One of the classic drawbacks to building a web application interface is that once a page has been downloaded to the client, the connection to the server is severed. Any attempt at a dynamic interface involves a full roundtrip of the whole page back to the server for a rebuild--a process which tends to make your web app feel inelegant and unresponsive. In this article, I'll be exploring how this problem can be tackled with the use of JavaScript and the XMLHttpRequest object.

AJAX Design Patterns
Excellent tutorial on how to build an AJAX powered website, with dynamic page loads.

Beautiful JavaScript-Powered Pages
I've been delving deeply into the world of Javascript-powered interfaces. Now that I've had some time to play and learn about the scripts and techniques that are out there, I've come to what I believe to be the ultimate combination.

Saturday, December 1, 2007

Study at MIT for free - MIT Open Courseware

OCW is a free publication of course materials used at MIT.

  • Get lecture notes, problem sets, labs and more.
  • Watch lecture videos and demonstrations.
  • Study a wide variety of subjects.

MIT is committed to advancing education and discovery through knowledge open to everyone.

OCW shares free lecture notes, exams, and other resources from more than 1800 courses spanning MIT's entire curriculum.

MIT OpenCourseWare is an idea—and an ideal—developed, supported, and embraced by the MIT faculty, who share the Institute's mission to advance knowledge and educate students in science, technology, and other areas of scholarship to best serve the nation and the world. In 1999 the Faculty considered how to take best advantage of the Internet to advance education, and in 2000 proposed OCW.