PHP Digest: Faker PHP Repository, Practical Code Refactoring, the Law of Demeter and Much More

News and Releases:

  1. PHP on mobile platforms, 2 – Andi Gutmans unveiled his company’s new “mobile first” approach to application development. PhoneGap support along with drag-and-drop capabilities for prototyping mobile apps are added to Zend Studio 10. Details are available from the source – recording of Andy Gutmans speech in the Zend official press release.
  2. Yii 1.1 will be supported till Dec 31, 2015. – Because of the wide popularity of Yii 1.1 it has been arranged to extend the end-of-maintenance date of Yii 1.1 with its full support even after Yii 2 is released.
  3. Symfony released 2.0.18, 2.1.3 – New versions of the framework have been released, and there is a considerable progress in the Symfony CMF project.
  4. PHP_CodeSniffer 1.4.1 released – a new version of automatic code checking for compliance to standards system has been released. List of changes.
  5. Faker – one of the most popular PHP repositories of this week. Faker is a library that generates fake data for you very similar to these: names, emails, addresses, phone numbers, etc.

PHP:

  1. PHP to mobile app in 10 minutes – Zend senior director of product management Kent Mitchell creates a cloud-enabled app in PHP.
  2. A closer look into PHP arrays: what you don’t see. – Surely, everyone knows that arrays in PHP are implemented with the hash table. But in this excellent article, the author plunges into the topic quite further. The author shares with you some of the underlying details of how the PHP array data type works, why it works the way that it does, how it’s different from other languages, and what behaviors the PHP array has that you may not be fully aware of.
  3. Over-abstractionism – a reminder for those who use OOP (not just PHP developers) with an appeal not to overuse “abstraction” – the excessive use of all kinds of abstractions at the expense of simplicity.
  4. Spooky Scary PHP – The author has devoted this post to Halloween holiday, having shared with you some scary (but logical) behavior found in PHP itself, and spooky (and possibly quite illogical) ways in which some have twisted PHP to do their bidding.
  5. Web developer – It is believed that PHP becomes less the de facto platform for all web development, and you should think to move to other technologies. Reflecting on the subject the author has made a conclusion that one should not be a PHP / Python / Ruby / JavaScript / Logo / Erlang / ColdFusion / Perl / Scala / Go / Fancylang developer, but should be just a web developer.
  6. Symfony and the scary world of PHP – the post where the author expresses his displeasure with PHP and Symfony. “All in all, PHP is still a horrible place to be” – he concludes.
  7. Test Drive PHP 5.5: A Sneak Peek. – The author not only tells us about the new features expected in the new version, but also test-drives practical uses for some of those new features and even giving you some actual bench marks for generators in PHP 5.5.

Training Materials:

  1. ZendCon Live – Keynotes from ZendCon, including Andy Gutmans interview, in which he talks about the latest innovations. Records of all other reports are available on youtube.
  2. Practical Code Refactoring, Part 1,2,3,4. – a great series of 4 articles that reveals the essence of refactoring as the way to improve readability, to simplify scalability and to increase code efficiency.
  3. Swift Email Delivery – offers a flexible and elegant object-oriented approach to sending emails with a multitude of features with the updated Swift Mailer.
  4. Design Patterns Bootcamp – a big presentation on design patterns with examples in PHP by one of Zend Technologies developers.
  5. Puppet or Chef? – a comparison of two popular configuration control systems.
  6. Yii with Symfony2′s Form and Dependency Injection components – a short note on the use of Form and Dependency Injection from Symfony2 in Yii.
  7. Painless Data Traversal with PHP Filterlterators. – there is load of ways to traverse data, especially in PHP where there are a variety of loops available; including while, do while, for and foreach. These are fine for normal structures, such as scalar and associative arrays. But what if you want to get a bit more fancy? The author provides a small amount of code with a rather trivial approach, and then shows how using FilterIterator, you can extend the default bypass, adding a custom method “accept” to filter out unwanted elements.
  8. Factory patterns: Collaborators Map. – an article about the popular generic design pattern. The author talks about the benefits of using Factories over a DIC and about the approach, called Collaborators Mapr. Examples and recommendations for further improvement and expansion of functionality are given.
  9. Introduction to the Law of Demeter. – an article tells about one of the principles of software design – the Law of Demeter, which can be considered a subset of the loose coupling principle. The author describes the fact that when an object knows way too much about another (and this implicitly includes knowing how to access a third one) is considered wrong and how to find the actual dependencies it needs to work as expected. Examples are given.
  10. List Files and Directories with PHP. – an article describes a common task everyone might have experienced while developing a PHP application: listing files and directories. Several basic and advanced solutions are discussed, each having its pros and cons. First there is a presentation of three approaches that use some very basic PHP functions and then progress to more robust ones which make use of SPL Iterators.
  11. SQL support and Database tools in PhpStorm. – an article about the way to perform routine tasks while working with databases in your project, right from your IDE.

CMS/CMF:

  1. Why I No Longer Recommend Magento Community Edition To Small Businesses – the author describes his experience with Magento and lists the main reasons of looking for another solution.
  2. WPEngine Review – lightning Fast WordPress Hosting.
  3. Common WordPress Malware Infections – WordPress is incredibly popular attracting Malware creators. Errors are detected rarely and rectified rather quickly, but not so with plugins and themes. The article describes the popular “viruses”, the methods of how to detect and prevent them.
  4. Plugins and themes feedback for WordPress.org – the development team has added the ability to provide feedback on the themes and plugins.

Plugins Releases for WordPress:

  1. Post via Dropbox – allows you to post or edit your blog with text files uploaded via Dropbox.
  2. Detectify – analyzes the level of security on your website or blog via a simulated hacker attack.
  3. Dynamic Forms Plugin – enables to create custom web forms, easily add forms to blog posts or web pages, collect information from a database.
  4. Po.st – boosts social sharing, provides detailed analytics and monetizes the sharing that is already happening on your site.
  5. WP Teacher – a plugin that allows teachers to integrate course content into their personal website to enhance students learning.
  6. Nav Menu Images – a WordPress plugin that enables uploading of images for nav menu items on a menu edit screen.
  7. Testimonials by WooThemes – show off what your customers are saying about your business and how great they say you are, using our shortcode, widget or template tag.
  8. Watu – creates exams with unlimited number of questions and answers. Assigns grade after the exam is taken.
  9. Ad Code Manager – manages your ad codes through the WordPress admin in a safe and easy way.
  10. A store locator plugin – gives you the ability to effectively display your important locations in an easily searchable manner using Google Maps.
  11. Ultimate CMS – an easy to use Plugin to Create, Customize, Manage Custom Post Type, Custom Page Type, Custom Archives, Custom Taxonomies.
  12. Ultimate Taxonomy Manager – a plugin to customize taxonomies and its custom fields, with great user interface.
  13. WordPress Exploit Scanner – a plugin that searches the files and database of your website for signs of suspicious activity. It will not stop someone hacking into your site, but it may help you find any uploaded or compromised files left by the hacker.

And in Conclusion:

  1. “The PHP project is in need of a volunteer” – Rasmus Lerdord has written in Twitter. The PHP project is seeking for a volunteer to help to create and manage a small merchandizing program. The very first task is to find Rasmus email and contact him.


Comments are closed.

Terms of Use

Disclaimer

This Web site and all information contained herein are provided as is without warranty of any kind, either express or implied, including but not limited to any implied warranty of merchantability or fitness for a particular purpose. The texts, documents and related illustrations published on this Web site could include technical inaccuracies or typographical mistakes.

Limitation of Liability

Under no circumstances and under no legal theory (including, but not limited to, negligence) shall Zfort Group be liable to you or any other person for any damages, whether direct, indirect, special, incidental, consequential, punitive or otherwise that result from, arise out of, or are in connection with the use of or access to, or the inability to use or access, this site or its contents, even if Zfort Group has been advised of the possibility of such damaged links.

Trademarks

All brands and product names used or mentioned on site are or may be the trademarks of their respective owners.

Changes

If we decide to change our Terms of Use, changes will be posted on this page.

Privacy Policy

What Information Do We Collect?

We collect information from you when you fill out a contact us form. If you like to contact us you may be asked to enter your: name, e-mail address or phone number. You may, however, visit our site anonymously.

What Do We Use Your Information For?

Any of the information we collect from you may be used in one of the following ways:

  • To personalize your experience
    (Your information helps us to better respond to your individual needs.)
  • To improve our website
    (We continually strive to improve our website offerings based on the information and feed
    back we receive from you.)
  • To improve customer service
    (Your information helps us to more effectively respond to your customer service requests and
    support needs.)
  • To send periodic emails
    (The email address you provide may be used to send you information, respond to inquiries,
    and/or other requests or questions.)
  • To contact you
    (If you ask to contact you.)

How Do We Protect Your Information?

We implement a variety of security measures to maintain the safety of your personal information when you enter or submit your personal information. Submitted information is stored in a secure password-protected database.

Do We Use Cookies?

Yes. Cookies are small files that a site or its service provider transfers to your computer hard drive through your Web browser (if you allow cookies). This enables the sites or service providers systems to recognize your browser and capture and remember certain information.

We use cookies to compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future.

Do We Disclose any Information to Outside Parties?

We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our website, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.

Third Party Links

Occasionally, at our discretion, we may include or offer third party products or services on our website. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.

California Online Privacy Protection Act Compliance

Because we value your privacy we have taken the necessary precautions to be in compliance with the California Online Privacy Protection Act. We therefore will not distribute your personal information to outside parties without your consent.

Children's Online Privacy Protection Act Compliance

We are in compliance with the requirements of COPPA (Children's Online Privacy Protection Act), we do not collect any information from anyone under 13 years of age. Our website, products and services are all directed to people who are at least 13 years old or older.

Online Privacy Policy Only

This online privacy policy applies only to information collected through our website and not to information collected offline.

Your Consent

By using our site, you consent to our websites privacy policy.

Changes to Our Privacy Policy

If we decide to change our privacy policy, we will post those changes on this page.

This policy was last modified on 15 April 2011

Cookie Policy

Cookies are small files that a website you visit (or its service provider) transfers to your computer hard drive via your web browser in case you allow cookies. That enables the websites or service providers systems to recognize your browser in order to capture and remember certain data, e.g. your settings etc.

Cookies play a significant role, and using the Internet without their help would take much more time and efforts.

At Zfort Group we use cookies for the single purpose – we would like our website visitors feel comfortable while surfing our pages. Therefore we gather and store cookies to compile general information about website traffic and interaction so that we could offer improved website experiences and tools in the future.

The list of cookies that we collect is provided below:

Cookie Name Purpose
Google Analytics _utma
_utmb
_utmc
_utmz
_atuvc

These cookies are used to collect information about how visitors use our site. This information helps us to improve the site. The cookies collect information in an anonymous form.

Click here for an overview of privacy at Google

Type of device showMobile

This cookie type stores information about what site version is used now (mobile/full).

CMS 1d85235cca790dc3f8a91d588f4a7655

Stores information about user status (admin/registered/guest)

AddThis Addthis buttons

We use a few cookies form AddThis, Facebook, Twitter, LinkedIn services, so you had an opportunity to follow our updates or share our content at your social profiles.

Facebook Facebook share, follow buttons
Twitter Twitter share, follow buttons
LinkedIn LinkedIn share button

It is a widely known fact that the majority of web browsers permit a limited control of most cookies through the browser settings, which basically means that most browsers give you an actual ability to manage cookies that fit you best. Being aware of that some people prefer not to allow cookies. It can be done by adjusting rules in certain browsers to run cookies on a site-by-site basis, providing the user with a detailed control over their privacy. Generally users can disallow cookies from all websites except the ones they trust. To learn more about cookies, how to manage or delete them, visit http://www.allaboutcookies.org

Developers

  • Management and content

    Roman Shekin - Structure

    Denys Kostin - Project Management

    Joel Kepple - Engagement

    Dmitry Pevnev - Marketing

  • Design

    Elena Chekalina - Ideas, Concept, Design

    Sergii Tymoshenko - Design

    Polina Tishchenko - Design

  • Development and testing

    Alexandra Zhmutskaya - Frontend Development

    Maxim Fedets - Frontend Development

    Yury Vasilenko - JavaScript Development

    Oleg Hladchenko - PHP Development

    Sergey Palkin - PHP Development

    Yuri Matuhno - Quality Assurance