For me, the basic skills that every ZF developer should have are related:
- Writing custom view helpers - it would be better if they were a regular namespace and not
Zend , because they will learn how to register an auxiliary path in the view. - Definitely write some form classes using
Zend_Form (and fight decorators;). Perhaps even some custom form elements that will also require you to register an auxiliary path and a new namespace are basic skills. - Writing a simple ACL system. And there you can check how they do it, which gives you information about their knowledge of software architecture. Are they implemented as a plugin? Maybe hardcoded in
index.php ? Or a user controller and init or preDispatch . - Auth - in ZF its 10-15 lines, but you should look for it :)
- Some db model work is simple. Two, three tables and the relationship between them - this may be the simplest ACL table:
users , role , user_has_role . - Using course layout and using ZF view helpers to add scripts and styles.
- Defining specific user routes.
- Perform caching at some level.
- Understanding how bootstrap works - for most of this task, itβs easiest to use Bootstrap and application.ini boot resources.
A simple βapplicationβ that covers almost all of these skills might look like this:
- A simple database with three tables:
user , role , has_role . In user column of the created_at table, which is automatically set when an entry is inserted. (covers Zend_Db_Adapter , application.ini). - The application has three modules / controllers / pages - name it what you want.
a) the ability to add, delete and edit user and roles. Usually CRUD. In addition, you can say that the grid should be third-party (jqGrid, DataTables, etc.), Using AJAX to get data from the application. There you will check if they implement the AJAX output on their own or use the ZF contextSwitch feature. (Zend_Db_Table_Abstract covers, relations between them, understanding of the model, Zend_Db_Select, Views and, possibly, appendScript like appendScript , Zend_Form)
b) downloader for user files - such web storage. A simple form is to upload the file and the table below their list and the ability to download (covers security, maybe Zend_Form and Zend_File_Transfer, possibly partial if they use the same table as in a))
c) , which displays the last 10 tweets that you want from Twitter, which should be cached for x hours (covers Zend_Cache, and then possibly Zend_ervice or XML, JSON knowledge - depends on how they are implemented)
In addition, the application requires that the user register using the username and password (you can say that registration must be another part of the application). And to take advantage of the ACL system, the user has access only to points b) and c) (and course register / login page;), but admin on all three pages.
And now you have two questions.
First it says:
"It must be in ZF, but the form must be executed using Zend_Form and models using Zend_Db_Table_Abstract. For auth, you must use Zend_Auth for the front ACL controller plugin And so on.
The second method says:
"It should be in ZF. How you do it inside is completely your business, but it should work."
What you choose depends on your needs :)
PS. Personally, in the hiring process, I use the second approach (sometimes even without specifying a framework), because, as I said, it shows me a way of thinking - which is also important. βA candidate is a do-it-yourself person who wants to do everything himself, despite the fact that there are already 10 such solutions, or rather he is RTFM, or both. When you need to make an application and in your own drawing, like this make which components to use, itβs more creative, and after the candidate makes such an application, you can still review the code and show them where something can be done differently - this way they will learn something new and maybe you will learn something from your approach :)
source share