Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am starting a new challenge. I am on my way to learn PHP since (I already have good knowledge in HTML CSS), i would like to have you advise in a good procedure of learning this.
To be specific my final goal is to be a very developer in PHP by the end of 2015 and able to work on project on my own and/or with team as freelancer.
I would like to hear from you guys a step by step learning programs which will conduct me to have confirmed knowledge in PHP OOP and Framework Symphony2. As i don't want to skip the stages i'd like your advise :
I have basic understanding of (loop, if/else, function).
I am looking some course (updated) and exercise to push up my level slowly but efficiency. A list of step would be a great start.
I'd suggest that you ensure that have a solid understanding of generic programming principles before you focus on a specific language. Knowing markup languages like HTML is relatively easy in comparison. When you get to programming, there's a lot more things to consider.
There's plenty of available free resources that should be able to help you.
http://www.tutorialspoint.com/computer_programming/
welcome to SO. There are lots of resources out there, some easier than others for a beginner. I would start on something like code academy and augment that with resources like php.net.
Then when youve covered those tutorials (I would do all the markup stuff like HTML as well) think of a personal project and build it. Its all very well reading manuals and doing tutorials, but you need a real live project to force you into finding solutions for real debugging issues. That cant really be taught.
Its worth noting that PHP isnt the only server side language out there, so keep an open mind and be ready to investigate other avenues as you find them.
Bear in mind to be able to hold your own in the industry is very different from being able to handle your personal projects ok. There are a lot more variables (no pun intended) in industry and the skillset you need to have is often wider.
Good luck with it.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I start this topic saying that I use PHP since 2014 and I'm experienced with it, but recently (yesterday) I started to give a look to NodeJS.
Node is growing fast and it's been used by a lot of web-services.
I started using it yesterday, but I found it less "beginner-user friendly" than PHP.
I'm not saying this as a beginner in computer programming, but as a Node-beginner.
What is your opinion?
Is it worth knowing both languages?
Is it worth knowing both languages ?
If you come from php development, learning node is a great idea.
It ll teach you in a soft way the concurrent programming pattern, and also event/stream programming,
it will lead you to face problems regarding the underlying OS in a soft way.
All sort of stuff that PHP greatly solves for you right out of the box and which you never think about.
Node will also give you the impression of a bigger playground to explore.
But, if you want to be productive when it s about building website, i believe PHP is better.
On the other hand, if you are looking for performance, node may be better, but true performance comes with compiled languages like GO, not scripted languages.
Finally, if php was not plumbed by all those damn heavy javaesque framework, it would be a really nice environment with a good trade off between speed and complexity.
Node gives you speed, but it comes with a price about the complexity which can be very costly.
As a beginner of both language i noted the following advantages of both languages
PHP
Mixing code with content
Deep code base
No client app needed
SQL
Speed of coding
NodeJs
Separating concerns
Newer code means more modern features
Service calls are thinner than HTML-fat PHP calls
JSON
Raw speed
You can read full article Here
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I want to learn to create and modify php applications. I learned most of the common syntax by now and understand basic concepts like connecting to mysql and post and get http methods, but still not sure how to go about creating something complex like a full application with libraries and how it all connects together. I tried analyzing already existing apps and get really confused just by looking at codes that call on other files with many custom functions which are unreadable to my eyes. I hear about frameworks and about libraries, but I am pretty confused in this step of the way. What would be the concept I am missing to learn to make the leap towards creating complex applications. Any help will be appreciated.
There is always a lot to learn with php. It's a constant learning curve.
Some of the things that I can let you know.
Firstly make sure you follow best practices. There is always the temptation to cut corners, because php allows it.
Here is a guide to coding with php the right way which I found useful
http://www.phptherightway.com/
There are many php frameworks out there these days and choosing the right one that fits your needs is important. Some are more powerful or flexible than other, but some also have a steeper learning curve than others.
http://www.hongkiat.com/blog/best-php-frameworks/
Article that may help. Most of the frameworks will have a "how to" which will guide you through the process.
I personally use ZF2, but Laravel has gained a lot of popularity these days.
Also make sure you take a look at some of the places like tutsplus, project treehouse and other great learning resources.
Good luck, and I hope you make some amazing applications.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
So i've been playing around with php the past month. I know how to create a basic dynamic webpage with PHP, i can apply CRUD to my web pages and i can create my own simple login-scripts.
Now i want to get into a PHP Framework, but i'm not sure if my php skills are good enough to start working with a framework. Or should i just play around more with standard php?
I'm afraid that when starting with a framework to early, you can only know a small part about it, and you don't understand completely what is happening behind the framework.
Can someone share their experience with this?
If you have learned basic Object Oriented Programming concepts (OOP) and understand them, you are ready. If you don't know what that means, then you are still probably writing procedural-only code. Frameworks will be using OOP so you will be off to a bad start if you can't even understand the syntax.
If you understand OOP, maybe start with CodeIgniter. It's pretty simple as far as frameworks go.
What you create with the framework might not be pretty, efficient, or the code of an experience programmer, but it will introduce you to dozens of new concepts and aspects of coding that you hadn't even thought about or knew existed. You will learn about the underlying architecture of an application, MVC, how to structure your code, etc.
I think it is beneficial to push yourself. In my experience, this is how you excel. Otherwise you stagnate, stuck with your old-fashioned, beginner knowledge.
You sound like you want to learn, and sound like you are capable of teaching yourself, so just dive in and see what you can do. Give it a few months and you will probably know CodeIgniter well and wonder how you ever built websites without frameworks of some kind.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I've heard of frameworks like Ruby and CakePHP. Should I proceed to learn them, now that I've learned the basics of PHP?
If so, which ones are preferred among PHP developers?
You'd probably first want to find a project you wish to work on. Whether it is a personal or a community project, find out what interests you and begin to build it.
Once you've decided on a project, you can pick a framework that you want to work with, and you'll learn it much more effectively than you would ever learn it almost any other way.
You can look at this question to find out some frameworks that other developers enjoy using.
You might also want to look into learning coding theory over simply frameworks. Things like design patterns, object oriented programming, and other practices are very good, and will let your coding span across languages, as they deal with ideas instead of specific code.
You can find a lot of good information on coding theory and best practices simply by going through the top-voted StackOverflow questions. Once you get past all the cartoon posts, you can see some topics that might be interesting to you, such as code smells (you need to know them to avoid them), RSS feeds for programmers, pieces of advice from programmers, and so on.
You can also look at people who are in the same, or a very similar boat as you. The self-improvement tag is filled with questions of people are looking for ways to improve themselves. Here are some examples:
What should a self-taught programmer read?
Must see talks/presentations
Tips for becoming a better programmer
Finally, you might want to try answering some questions on StackOverflow. By teaching others, you can often learn a lot about stuff you already thought you knew.
This is coming from experience too. If you look at my list of answers, at this point I've answered around 430 questions, and from those I've gained a great amount of knowledge, as I've had to research each question and make sure I understand the subject before answering.
Furthermore, while answering, you are bound to come onto some interesting questions. All of my favorite questions are ones that I have learned something new from, and right now I'm up to 6 pages.
Learn other environments. Learn C#, learn Java, learn design patterns and OOP. Don't limit yourself to PHP. Frameworks are only helpful in keeping your code clean and doing aspects for you.
There is a very handy site: www.phpframeworks.com which ranks several frameworks based on various features.
Obviously there is no right answer on where you should go next. You could go with learning another Web Development language, like Ruby On Rails; you get more into databases or client-side scripts; you could decide that you want to move beyond web development and more toward traditional software development; you could become a PHP guru and develop your own libraries. Really it depends on what you really feel excited about and strong about with what you already have learned with PHP.
I would check out that site to explore the many different approaches to frameworks. There isn't one perfect one, just ones that are best at meeting certain needs.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm totally new to mvc,how to pick it up?
Go this way:
Read about MVC (Google it, see the wikipedia article)
Choose a Framework (I suggest CodeIgniter - Has a great user guide)
Then go through the user guide and try the things.
The video tutorials are also good, check nettuts.com for CI.
Go this way:
Know what is MVC
Why it is useful
How does it work
Where it should be used optimally
How do frameworks use it (if possible to know)
Learn how frameworks implement it (try using a framework)
Learn a framework so that you can become habituated to using MVC
I know I might sound foolish, but this way can be of great help to newcomers.
Maintain some project written in spaghetti code (CSS + JS + HTML + PHP + SQL, all in one single file), then think how you would separate all these and you'll discover MVC.
Kidding aside. Read about it what you can, try some framework but don't avoid maintenance projects. It is in these projects that you'll see the benefits of MVC or at least those of separation of concerns.
See also this related question.
You can read all about MVC with a simple google search. However, you won't fully understand the beauty of it until you pick a framework and dive in. I hear great things of CodeIgniter. It was my first framework when getting into MVC.
In the end I chose CakePHP. Why? CodeIgniter, while very simple to get started with, gave me too much freedom for a beginner to MVC. I wanted strict rules and conventions to show me how its supposed to be done rather than what I think MVC should be. Maybe later on down the road I'll come back to CI. Either way you choose, my suggestion is to take a small project you coded, and code it in any of the PHP frameworks out there.
CakePHP's and CodeIgniter's communities are among the most helpful. Join a google group for Cake/CI. Read about what people are trying to do. See what problems people are having and good luck!
First research the MVC pattern and look for tutorials that explain how to implement it. Next, get an MVC framework for PHP and use that since there's no sense trying to reinvent the wheel and roll your own.