📜 ⬆️ ⬇️

What a novice PHP developer should know


I’m often asked such a question, and I decided to answer it.

I wanted to write another article about the interviews, but it seems to me that the format has outlived itself, so we read and talk about us.

Foundation


Build and use Google. The first is difficult to assess, for this a lot of “stupid” questions for interviews have been invented. The second item is either vaccinated in the first days of the trial period, or the developer owns it initially, no one considers the other option ...

General cognitive



I have a question for a general development interview, what happens after entering domain.com/index.php domain.com/index.php and pressing enter, you should tell the following:

I again return to the interviews, and beckons me straight

What the HTTP request / response consists of (yes, open firebug or whatever you have installed and see)
Installing a bundle of Apache + PHP + MySQL - practice, this is how it should be.
This is a little about linux - about file system differences in comparison with windows, about the distribution of rights (chmod) and how to exit vi without saving.
')
A couple of days will be required for the assimilation of basic knowledge.

Php


Basics of the basics - receiving and processing incoming parameters.

We send the form:
 <form action="index.php?a=12"> <input type="hidden" name="b" value="6"/> <input type="submit" value="Calc!"> </form> 


And here is the listing of index.php , and as a result of the script, we will see ...:
 function some_logic($a, $b = 24) { return ($a+$b)/$_REQUEST['b']; } $var1 = $_GET['a']; echo some_logic($var1); 


Work with loops, arrays and strings. And yes, a simple task from the interview (it's time to calm down):
 //        $str = "Hello world!"; 


Work with the database and files. For the assimilation of the material - here is your task: to write an anonymous message board (with faded ... upload of pictures)

You should know how the session mechanism works - i.e. what happens from the moment you call session_start, and which side is all about cookies (remember, I was talking about HTTP?).
To know what serves include, require and what is the difference between them.
The difference between echo and print is not only know, but also understand.
Taki learn to work with objects, to understand the difference between an abstract class and an interface.
Know and use namespace.

Separately, it is worth mentioning code hygiene - it is necessary to comply with the coding standards, of the many existing I recommend the Zend Framework coding standards

The more experience, the better, but you tighten the basics in a week, the RPE will require another week.

SQL



Basics of SQL syntax. A little insight into MySQL and understand the differences between MyISAM and InnoDB.

Know how LEFT / RIGHT / INNER JOINs work - clearly in the Visual Representation of SQL Joins article (link to the lazy picture - Visual_SQL_JOINS_orig. Jpg O_o)

Be able to design a database for a small project. Here are the requirements for the library database:
The following information should be stored in the database:


Allows you to perform the following queries:


To alter a DB, since In the library there are often more than one copy of the book, but you need to know which copy the visitor took.

Concentrated study during the week is enough for you.

HTML and CSS


Make a couple of pages, from and to (HTML must be valid). Do not listen to the fact that this is the work of a designer / coder / someone else. Believe my experience - they will give you a blank page, no one will integrate the HTML template into your system for you, so knowledge of HTML and CSS is mandatory.
Forget about the fact that Smarty is created for web designers, and they will give you ready-made templates - these are fairy tales. About Smarty, too, forget, although not - to have an idea what it is of course necessary, but to use - no.

Must understand the following CSS:

 #my p.sel:first-line, .main li li a:hover + span { color:#f00; /*    ?  ! */ } 


Find out what the block model is, and how the float works. What is margin and padding.

Five days is enough for you to master the basic skills of the maker.

Javascript


Know the syntax, how events work, what closure is, and how AJAX works. I recommend reading the textbook of Ilya Kantor . This is a little, the study of these issues will not take you more than a week.
Then read the first six parts of my series “ jQuery for beginners ” - this is a couple of days to learn the material.

Still a little straining


Understanding the MVC pattern. Familiarity with some thread framework (Zend Framework, Symfony, Yii, etc.). You can go through the Quick Start from Zend Framework.
Learn to work with the database through PDO . Know what is SQL injection.
Get acquainted with a thread of modern version control system (yes, even with SVN)

And what can I expect?


A month of study, and you can already apply for the position of Junior PHP developer. Look for the answer to the mercantile question at DOU

PS There is something to supplement - write comments, see a mistake - it is better in PM

Source: https://habr.com/ru/post/143392/


All Articles