On Friday, I posted a tweet.
Good morning, still wondering what is the best (and common) technique to learn hell lot of #frameworks in #PHP
That was just casual tweet followed after some other instances. But when I reviewed my week’s tasks (it include nearly everything I did over weekend) I realize I’m complaining. I immediately replied to myself:
@kapilsharmainfo (To self) It’s easy to point out problem but how many of us work to fix it? Fix it or don’t complain about it. #WeekendTask
That mean either I should try to fix it or just keep quite. This is the starting point to think how I can help to fix this problem. There are many huddles like:
- PHP frameworks lie in three categories; Micro framework, Full fledges framework and component based.
- Their target audience is different, some framework provide basic features and target small to medium projects while other target enterprise applications. How a common solution is provided for such a wide targets.
- There are many kind of people, some like to go through theories first and someone prefer to start doing things first and prefer learning by doing things. There are others who go for mixed approach. There are many who prefer to go through any available project example and learn by going through existing code. Symfony really made it easier through jobeet project and frankly I’m impressed by that approach.
Obviously no one can give one common solution. Still after considering quite a few facts, I personally feel if we have one example project implementation with us, learning become easier. So my Fix is:
My reply to lot of replies to my tweets0
Please note, I mean no disrespect to anyone, anything. Whatever I said was my thinking from my view point. I don’t feel everyone should/will agree with me. Everyone view is based on multiple factors. This post is about my view, my thoughts and I’m not claiming my thought is correct but yes, they will not change soon.
Why I’m writing this? I recently posted a tweet, tweet was:
Worried about #codeIgniter future, one of my favorite frameworks. Let’s see how it goes ahead. Started learning #laravel for worse case.
While writing it my target audience was just few friends who follow me and occasionally reply. However I was surprised when my mailbox filled with quite a few mail like @xyz replied, @abc retweeted etc. One reply was from Taylor Otwell. His reply was:
@kapilsharmainfo @CodeigniterCMS i think you mean best case? 😉
Those who don’t know him, he is author and lead developer of Laravel; One of the most popular and probably one of the best PHP frameworks right now. I follow Taylor, his site, blogs, twitter; I’m his fan and wanted to be like him. Still Taylor, sorry but it was not typo. I mean worse case. Please, let me explain.
There were few other replies as well, few of them were:
Learning Laravel is the best case scenario. I came from CI and Zend. Laravel is much better.
Coming from CI myself I must agree
worst case? That’s upgrading mate…
Yes I agree with everyone. Developer within me agrees. Professionally I’m Technical Architect in a software company, I as Technical architect agree. This month only, I’d taken few official sessions about Coding standards, Code Sniffer and Test driven development. Laravel, as I read at many places, is one of the best examples of TDD. How can I disagree with anyone of you? Yes, I agree with everyone.
But after office hours, I’ve one more personality. I’m weekend developer. As weekend developer, I work on quite a few personal client projects, some personal projects. These projects are not enterprise apps, but apps that are targeted to be finished during 1-3 weekends. Weekend developer within me does not agree with any of you.
Setup Advanced PHP Dev env on Windows (Part 2)0
In Part 1 of this article, we already setup WAMP, PEAR and PHP Unit (edit: and Code Sniffer). If you missed that part, please go through Setup advanced PHP Dev-Env on windows part 1 first.
In this part, we are going to setup following:
XDebug: XDebug is used to debug PHP code and easily integrates with leading IDE like Netbeans.
Phing: Phing is PHP project build tool, based on Apache ANT.
Composer: Composer is new dependency management tool in PHP world.
(Edit) Code Sniffer: Check if your code is following standards. You can define your own standards.
Again to remind, this is not tutorial for given tools, we are just setting up the environment with these tools. Respective website is the good start point if you want to learn more about these tools. In future, I’ve plans to make a simple kick start tutorial for these tools but till then, go through official documents and Google for tutorials on these tools. (more…)
Setup Advanced PHP dev-env on Windows (Part 1)1
I regularly visit forums, stack overflow, IRC channels to ask questions and giving back open source community whatever possible for me. Obviously I learned much from those places and owe them. One of the common questions asked on community how to setup development environment. Obviously not basic one but advanced like how to setup Pear, Composer, XDebug, PHP Unit etc. All these are vital tools for development. So I’m trying to cover all these common questions on one single post.
Please note here I’m setting advanced PHP development environment on Windows 7.
PHP: Bad design: Good result0
Few weeks ago, I was just checking blogs from IT greats, as I usually do. I went through an interesting post PHP a fractal of bad design. It had a nice start-up
I can’t even say what’s wrong with PHP, because— okay. Imagine you have uh, a toolbox. A set of tools. Looks okay, standard stuff in there.
You pull out a screwdriver, and you see it’s one of those weird tri-headed things. Okay, well, that’s not very useful to you, but you guess it comes in handy sometimes.
You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways.
You pull out the pliers, but they don’t have those serrated surfaces; it’s flat and smooth. That’s less useful, but it still turns bolts well enough, so whatever.
And on you go. Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And there’s no clear problem with the set as a whole; it still has all the tools.
Now imagine you meet millions of carpenters using this toolbox who tell you “well hey what’s the problem with these tools? They’re all I’ve ever used and they work fine!” And the carpenters show you the houses they’ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.
That’s what’s wrong with PHP.
Grive: A free open source Google Drive client for Linux0
When Google Drivefinally launched after roughly a million years of waiting, we got desktop clients for Windows and OSX. As usual, poor unrequited Linux was left out in the cold. Google says a Linux client is coming, but why wait? A free open source Google Drive client called Grive has been put together by a third-party developer, and it looks quite nice.
We all know the dedicated Linuxfan doesn’t have time to pronounce two words, thus Google Drive becomes Grive. The program is still in the early stages of public availability, and is missing some features like full sync. Instead, you will have to manually refresh to upload and download new files. Development is proceeding quickly; the file upload ability was just added recently, in fact.
Setting LAMP development environment with Linux0
Lamp developers work on open source technologies. We proudly say that we support FOSS (Free and Open Source Software) movement. How still several open source developers work on Microsoft windows, which is a proprietary operating system from Microsoft and putting its user’s freedom at stake.
The reason most users use proprietary operating system is they feel (although its not true) that learning linux is not easy. No doubt learning new OS need some time and patience but still it is not a rocket science. If you wish to start development on Linux, this document will help you to setup PHP development environment on Open SUSE 12.1 on your Laptop (Well it will also work for desktop). However be prepared to download some software (approx 2-3 GB) and prepare CD/DVD of them.
Development and Management Tools0
I’m back again. This time basically writing to keep it as quick reference for myself and posting it as blog if it could help others.
This is basically a list of some tools we generally use for development/Project planning. There are few tools that developers/Project manager use so frequently tht we do not need list. However there are few tools that we use occationally and when we actually need them, we forget the best tool to meet the requiremetns. So this is an attempt t list down important tools for development/project management purpose.
I’ll keep the list updated and if someone finds I miss any important tool, please leave a comment so that I can add that in the list.
Please note: Only open source or free softwares qualify for this list. If there is not open source solution in any category, I’ll clearly mention it. However I’ll simply neglect paid softwares, if there is even a single decent opensource solution is available in the category.
Guidelines for an IT career.6
Few days ago, I got a mail from my elder brother, who is working as PM in a reputed multinational. That was exceptional guidelines for any fresher/IT/Non IT person to learn about different options available in IT field and choose a career which matches their ability.
I though that worth publishing for every one. Here is the mail
Hope all good at our end. Everyone from IT or non IT wants to learn computer and see it as a career. Poor fellow like me having no option but to stick to IT but other who don’t have IT background(BE-Computer,IT,…etc, BSc-IT, B.Sc.-Computer Sciences are confused what to do/choose.
Comparison; PHP Frameworks – Zend Vs. Code Ignitor Vs. YII0
Choosing a PHP framework is not an easy task, especially if you have relatively little experience in PHP to know what makes a good framework or and what doesn’t, but choosing the right PHP framework for the job is absolutely critical in the long term as choosing the wrong PHP framework can lead to a number of negatives, such as longer development time, need for more experienced staff who may be hard to find and of course performance problems. Unluckily (or perhaps luckily) when it comes to PHP there is such a plethora of PHP MVC Frameworks that it’s damn hard to actually boil them down to the final choice. With ASP.NET for example it’s quite easy (although it’s gotten a little more complicated lately), previously there was only ASP.NET but now there’s also ASP.NET MVC, which is very different development paradigm and has it’s own catches. However, one thing with .NET is that you need to choose how you’re going to do your data access, etc, but with most PHP Frameworks there is usually only one or two ways and they tend to do the job quite well. So, now with this brief introduction, here’s the thoughts on Yii Framework (1.1.5) vs Zend Framework (1.11.0) vs Code Igniter (1.7.2).