How to increase your skill as a php developer [duplicate] - php

This question already has answers here:
Closed 12 years ago.
Possible Duplicate:
How to increase my “advanced” knowledge of PHP further? (quickly)
I have just finished learning the basics of PHP and MySQL and I need some kind of practical experience to improve my skill or some kind of professional job. Any idea how to do this and expand my knowledge as a PHP developer?

Work on open source projects or start your own. The benefits are countless, but specifically:
You'll work with more seasoned developers who may offer you advice
You'll have work you can show others that people actually use
You'll gain more experience with your tools

I would suggest:
Offering your service on craig's
list 'pro bono.'
Take a topic of interest to you and design a web site support it. For example, Let's say you like wine. Write a website and db that tracks wine, vintages, purchases, opinion,s etc.
Also I recommend the Heads First PHP book

To get a professional job you gotta really be able to develop in PHP. Think about some problem and try to find a solution in PHP for it.
I don't know maybe start with a nice little todo list web-app. Try to get your ideas on paper (i.e. what features you want etc.) and then start coding it. Keep coding until you finish the app.
Your best friends while developing will be http://php.net and StackOverflow.

Related

I am interested in being a front-end developer. Where should I start? [closed]

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 7 years ago.
Improve this question
Should I first master HTML/CSS/PHP? Is there something else I should learn right away? Also, should I go to college or be self-taught?
This is primarily opinion based... But just to give my two cents.
HTML/CSS is the best place to start when striving to be a front end developer. Doing HTML/CSS will give you the basic idea of how code works, directory structure, dealing with errors or inaccuracies with grammar and compatibility.
It never, ever hurts to start young. From experience of being in a tech field, people who start young, tend to get jobs more easily. Not only will it help you with getting a job later, but advancing in that field now will help you with going to a University or college for those classes. Typically learning how to code in school with no prior experience, can be slow, frustrating or confusing. Learning how to code now can help you avoid those frustrations with stricter deadlines, and make projects a ton easier and susceptible to be better a problem solver, not to even mention better grades.
A personal recommendation in a order of learning would be:
Google
HTML
CSS
JavaScript
PHP
As commentated above, Google is your best friend. Learn how to Google efficiently. Once you get the basic of how HTML works, CSS code, how to write basic JavaScript and PHP such as loops, conditionals, error handling, etc. You can start to learn backend technology such as working with databases, OS, bootstrap, ASP, .NET, creating Content Management Systems, etc.
There is a ton of resources you can use online to learn.
thenewboston
codeacademy
stackoverflow
Google
I'd recommend starting with something like this:
https://www.codecademy.com/tracks/web
It'll teach you the fundamentals of basic styling (HTML/CSS), the interactive nature of tutorials on Codecademy makes them more enjoyable & engaging than others.
(I'm not affiliated with Codecademy in any way, I just quite like their tutorials).
First and foremost you should complete all the basic web technologies from w3schools.com. Once done choose an IDE like webstorm and create a sample website using the HTML CSS JavaScript.
To become front end developer you should become proficient in following technologies:
1.HTML 5
2. CSS 3
3. JavaScript.
4. Jquery
5. Angular JS
6. AJAX
7. Browser compatibility like using bootstrap.
8. Operating system.
9. Node.js
10. Any backend technology.
I assume you mean a front end web developer.
As such, as many have stated, the web's front end is made up of:
html
css
javascript
That's it. So learn that to start with.
And that point you need to start thinking about what to focus on. Would you prefer to spend more time working with UX and UI teams and becoming more of an interaction designer on the front end, or would you prefer to spend more time working with the back end team and making sure UI and the back end are properly integrated.
If the former, you may want to focus on learning design concepts. Read up on user experience design and interface design. Pick up a couple of graphic design courses.
If the latter, that may lead you more down the path of a computer science degree.

What is the most extensive PHP/MySQL combo book?

I know this isn't a directly programming related question but I need some help in deciding which book to buy. I usually never buy books, instead I download instructional videos and ebooks from file sharing sites. But I want to buy one big fat book now that I can read on the subways to and from work.
So for MASTERING php/mysql which book has helped you the most and you would recommend above all others.
I don't know how much experience you have with PHP/MYSQL, but the two main books that I have used to master PHP are Head First: PHP/MYSQL, which uses a really interesting graphical teaching method, and Advanced PHP Programming by George Schlossnagle. Those are really the only two books you need to get up and running with PHP. Read up on all of the content that is pre-built in PHP by using PHP.net. Other than that, just code a lot. The best way to master PHP is through experience.
Head First PHP/Mysql --very good book that gets you on the right track.
PHP and MySQL Web Development 4th Edition --covers everything of php/mysql that a beginner needs to know. EDIT: This book is better off as a reference then a "learning" book because it covers a lot but not in depth.
AFTER you have learned all of procedural PHP, consider moving to a framework.
I've looked through a lot of books after just getting in and working on things for about a year. None has been as useful as actually getting in, trying things out, and asking advice of people with more experience.
As such, I recommend Google and StackOverflow.

From the web to games [closed]

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 7 years ago.
Improve this question
I'm a basic web developer. I know PHP, a little bit of Python and Ruby. JavaScript as well [some stuff]. I'm not a hardcore developer. I know what it takes do develop most of web cases.
Now, I have this desire to go deeper and start developing games. I know it sounds a huge leap, but that is why I'm asking here. I already have some games ideas. It would be simple 2d plataform games, and I would like to know what is the best way to start.
I don't want to start with Flash. I'm looking for working with other stuff. I already started to look around for the Unity 3D framework and UDK, but I just don't know how to get started.
So, any hints, tips or sugestions to make?
Python's Pygame is certainly a good choice as others have said. If you want to get in to deep video game programming though.. move on to something like C++ or another lower level language.. from experience, most higher level languages tend to put artificial hurdles up in regards to decent video games. Though for a simple 2d game you cant go wrong with python.
another decent environment to use is Ogre3d, but you would need C++ or the PyOgre bindings (which are not up to date, but I hear they do work okay).
Going from web to game design really is a decent step, as long as you have a good sense of design. the physics and game logic can be learned, but ive yet to see anyone who could properly learn how to write a decent GUI.. as is seen in most cases these days, the final GUI lay out tends to be a process of elimination or beta with trial and error.
Only suggestion i have left is keep your game logic as far away as possible from your graphics. Be Modular.
-edit-
oh and a note.. stay away from Tkinter in python for anything more than a simple tool.. I have found it most frustrating to use. there is wxPython, GTK, pygame, and PyQT.. and all of them (in my opinion) are far better graphic frameworks.
You should figure out why you want to learn. If you're interested in making money, developing small standalone games is probably not a good idea. If you're just interested in learning fundamentals, there are plenty of good libraries out there.
Some examples:
PyGame - http://www.pygame.org/news.html
SDK - http://www.libsdl.org/
Allegro - http://alleg.sourceforge.net/
Reference
http://code.reddit.com/wiki/help/faqs/programming#WhatprogramminglanguageshouldIuseformynewgame
A good starting point might be trying a turn-based game or two, if PHP is currently your main strength. Those work well over HTTP, bouncing requests and responses back & forth, while an action platformer is a very different beast - you might make an HTTP request to log high score or level-clear info, but actual gameplay would have to be run client-side to maintain any sense of action - either Javascript & canvas or Flash, if it's web-based.
There are some (mostly dead but) open source turn-based PHP games worth a look, to get a feel for some general concepts - the wittily-named phpMud and phpMMORPG come to mind, and a few board & card games.
It's just a baby step towards what you want to do and might not sound as fun, but game programming of any kind involves a lot of learning and hard work. Designing maps & system mechanics, animation & visual effects, physics, hitboxes, tons of math everywhere, and the hardest part, getting it all to actually run smoothly - it's a struggle to get something working, and an all-out war to get it "right."
That said, if you just want to get up to your elbows in a platformer to see what it's like and your Javascript is fairly solid, this set of articles is a great starting point. Brent Silby made a few neat shmups & platformers that pre-date canvas too, also worth a look.
Looking at your tags, web games are mostly client side, and since you aren't going to use flash, i would say JavaScript would work for 2D. With all the libraries and plug-ins out there, JavaScript can actually handle it.
Taking a look at OpenGL may not be a terrible idea. You can use the library in many languages, and is supported with in HTML5 (WebGL). There are several excellent tutorials out there.
If you want to learn more Python while doing so, you may want to take PyGame or an equivalent program. PHP, Ruby and JavaScript aren't going to help you in the video game section, though. They're all related to the internet.
If you want to start of real easy, try out Genesis3D. you can make awesome 3D FPS games, and its quite easy to get the hang of too. Took me only 5 days :D
Unity made me sick to my stomach, and so did Blender3D's game engine, so I personally say not to use those. It intimidated me.

Where can I learn web programming from start to mastery? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I tried doing tutorials but it is unorganized and unstructured, where can I learn PHP from beginner to master? I'm looking for a site like www.w3chools.com, but somehow I feel it is incomplete, specially when it comes to more advanced functions.
I know some basics but I wouldn't be able to for example make a secure online webstore, and I seem to be stuck at this point, how / where should I proceed?
I started 7 years ago. In my personal experience, your road to programming will look something like this:
HTML -> CSS -> Javascript -> PHP/MySQL
[Insert other web script language
here] -> "Desktop Languages"
For HTML (and CSS), I started by using a graphical editor at (then freewebs.com) webs.com that allowed me to add code snippets. I used some random GeoCities site (may it rest in peace) to look up things. Now, use Google or Bing.
Then, I got Jeffrey Zeldman's book, Designing with Web Standards. I followed through the book, typing out the code in notepad. Try to understand what the code does.
Do yourself a favor, use Notepad++ or Programmer's Notepad. They support automatic tabbing for neater code. It will make you a better and more sane coder in the long run.
Another thing I used to do was look at people's code by right clicking in my browser and hitting "view source".
This only gets you the HTLM/CSS after the PHP has been run and the Javascript before it was run. Google Chrome is good for analyzing scripts because of the debugging capabilities. (Don't worry about that yet though.)
Javascript was an adventure back then. Now, we have jQuery. Start with that or a similar framework. This can be researched online. I have never bought a Javascript book. I do have an ancient one from Visual Quickstart that I used to learn what a method looks like. Beyond that, the particular book in question is
an outdated rag.
To learn PHP/MySQL you can get a book. The two languages are often put together so finding books that show you how to use them in tandem should be a snap. I used O'reilly books for PHP.
I don't like the online PHP reference so much, because when I'm testing I don't always have internet. I use a virtual server setup on my machine. Look into that when you are ready to start learning PHP and MySQL.
The last thing to remember is that web standards are always changing, but don't get too crazy about it. when I started, XHTML was all the rage and now everyone is talking about HTML5. I still use XHTML as do many others. It goes to show that things move at different paces for everyone.
Good luck, I hope I helped!
EDIT: Geoff Adams pretty much sums up my post - Play around the invest in books. And, it will take time. I'm till nowhere near perfect.
Getting to 'mastery' is going to take a lot of effort, time and work. You can't become an expert by simply reading tutorials - the best way is to learn by doing. Get to grips with the basics, then play around. Once you're more comfortable, invest in some books.
If you're looking to build a complex system then you might be better using an off-the-shelf alternative. Try Googling around for various e-commerce systems (Magento is in vogue at the moment) and Content Management Systems (CMSes) before you decide to reinvent the wheel.
Read this book
also keep going through those tutorials (XHTML, CSS, Javascript) and try out everything you learn as you learn it.
I love the apress books so perhaps Beginning PHP and MySQL: From Novice to Professional, Third Edition might be for you? Do you have a development background?
You may want to look at picking up a book at your local book store or look at grabbing one off Amazon.com. I haven't found really good PHP web resource to learn from. Usually I just do a quick google search on topics I'm trying to code.
Another option is to just dive in and start building applications. I've found that the best way to learn PHP is to learn as you go. Once you have a grasp on the basic syntax and how to move around the code, then you can pick up a book at look at OOP topics as well look into Frameworks such as Zend, CakePHP, etc.
Are you absolutely set on learning PHP? If you are, then buy a good book - there's several mentioned here that are actually ok - but please, learn the security aspects from the start. There's more than enough PHP developers in the world who are writing insecure code (I used to be one of them, so I'd know).
Practice is key though; I've been programming in PHP now for about 6 years, and I'd consider myself fairly competent (I passed my Zend PHP5 Certification a couple of months back), but I still find functions I've never seen before.
A tip - don't even think of looking at Zend Framework, Magento or anything like that until you're comfortable with the basics. If you do, you'll definitely struggle; they use some advanced concepts which even I find it hard to wrap my head around at times.
Alternatively, you could learn something else...
The book recommendations are great. "Mastery", though, comes only from practicing your craft. If you want to learn PHP, you need to build many sites, with PHP (and HTML, CSS, Javascript, MySQL, etc.).
To have confidence that you can build a secure online web store, well, you need to build one. Maybe you can find a company that will pay you to learn. Maybe you will find a colleague to mentor you through it. Or maybe you'll have to dig into books, multiple web sites, and some poorly written "integration guide" from a payment authorization provider. My first time through I was nervous. The second time it went a little quicker. And the third time I felt confident enough to estimate how long it would take.
I'm not trying to be difficult or flip. I just feel that "learn by doing" may be the only way to learn much of this stuff.

What's after PHP? [duplicate]

This question already has answers here:
Closed 13 years ago.
Possible Duplicate:
What Should I Learn After PHP?
Ive been doing PHP for the past 2 years and I'm quite comfortable with it, I can do most things and I'm finding it harder to find challenges. Which is good I suppose.
But as I become more experienced I'm hearing bad things about it. That in the grand scheme of programming it's a baby.
So what would you recommend I move on to? I thought mabey Java or C. But you guys are the experts. What do you think?
Also, could you suggest some good places to learn.
Take anything you hear about PHP with a pinch of salt. Whilst it can be used as a simple scripting language, you can write entire object-oriented web applications with it (PHP5 adds massively to this).
PHP is my language of choice for many web projects - and not just because it's the one I know best, I've been using C#.NET, ASP.NET and WPF for much longer than I've been using PHP).
It depends on what you want to do, you choose the right tool for the job. PHP is a fine choice for rapid web development.
However, even if your day job requires you to stick with PHP, learning another language by doing some toy projects will actually improve the way you write PHP. Pick a language, try it out for a few months, then try out another!
What about participating in some kind of Open Source project ? Now that you have some experience, you would probably be able to help doing nice stuff ;-)
It would also be a rewarding / interesting experience :
not working alone is often better -- you learn more stuff, and you are more motivated
working on a big OSS project looks nice on a resume, too ;-)
It depends on why you want to move really. Are you looking to get past PHPs alleged flaws and produce better webapps, are you wanting to improve your programming ability/style/technique or do you want to learn a different style of programming?
You probably only want to learn C if you intend to move away from web-development. Java probably isn't going to teach you anything that you don't already know from PHP, assuming you write OO PHP code of course.
Learning one of Python/Ruby/Javascript would let you learn about functional programming - if that's your goal.

Categories