32 private links
:bathtub: Clean Code concepts adapted for PHP. Contribute to piotrplenik/clean-code-php development by creating an account on GitHub.
SPX, which stands for Simple Profiling eXtension, is just another profiling extension for PHP. It differentiates itself from other similar extensions as being:
totally free and confined to your infrastructure (i.e. no data leaks to a SaaS).
very simple to use: just set an environment variable (command line) or switch on a radio button (web request) to profile your script. Thus, you are free of:
manually instrumenting your code (Ctrl-C a long running command line script is even supported).
using a dedicated browser extension or command line launcher.
multi metrics capable: 22 are currently supported (various time & memory metrics, included files, objects in use, I/O...).
able to collect data without losing context. For example Xhprof (and potentially its forks) aggregates data per caller / callee pairs, which implies the loss of the full call stack and forbids timeline or Flamegraph based analysis.
shipped with its web UI which allows to:
enable / configure profiling for the current browser session
list profiled script reports
select a report for in-depth analysis, featuring these interactive visualizations:
timeline (scale to millions of function calls)
flat profile
Flamegraph
Hi, welcome to this special tutorial. In here, I will be showing you how you can create a web-based desktop application using PHP, CSS, HTML, and JavaScript with the help of PHP Desktop. In fact, PHP Desktop is an easy and simple solution we can use to create a very powerful and complex desktop application.
Julien Pauli, PHP contributor and release manager, details what changed between PHP 5 and PHP 7, and how to migrate and make effective use of the language optimizations. All statements are documented with specific examples and Blackfire profiles. Third episode: Encapsed strings optimization dropping CPU usage by a factor of 10.
Detailed statistics, charts & graphs
Data management for Memcached (full CRUD support)
Memcached cluster health dashboard
Memcached host dashboard
Update check
Nice & comfortable UI
Clean & well documented code
Responsive and mobile ready
Notice
This software is currently in early alpha state and so i want to warn - There is currently no ciritcal bug i know about but maybe still some potential for (Memcached) data loss - from my point of view its not critical in development cause it's a non-persistent memory store we're talkin about - but it's just fair to warn you before you use it! :)
Revive Adserver is a free, open source ad serving system that enables publishers, ad networks and advertisers to:
Serve ads on websites, in apps, and in video players, and collect detailed statistics about impressions, clicks and conversions
Manage campaigns for multiple advertisers and from ad networks all at once, via an easy to use interface
Define rules for delivery of campaigns and ads, including frequency capping, URL targeting, geo-targeting
Track and report campaign performance, including click-through rates, conversion rates, revenue, eCPM and conversion details, like basket value and number of items purchased
THE WEB-BASED DATABASE MANAGEMENT TOOL FOR SQLITE
When developing websites, apps or blogs, code snippets can be a real time saver. Today, I’m sharing super useful PHP snippets that I’ve collected over the past months. Enjoy!
Introduction
PHP is a complex language that has suffered years of twists, bends, stretches, and hacks. It's highly inconsistent and sometimes buggy. Each version has its own unique features, warts, and quirks, and it's hard to keep track of what version has what problems. It's easy to see why it gets as much hate as it does sometimes.
Despite that, it's the most popular language on the web today. Because of its long history, you'll find lots of tutorials on how to do basic things like password hashing and database access. The problem is that out of five tutorials, you have a good chance of finding five totally different ways of doing something. Which way is the "right" way? Do any of the other ways have subtle bugs or gotchas? It's really hard to find out, and you'll be bouncing around the internet trying to pin down the right answer.
That's also one of the reasons why new PHP programmers are so frequently blamed for ugly, outdated, or insecure code. They can't help it if the first Google result was a four-year-old article teaching a five-year-old method!
This document tries to address that. It's an attempt to compile a set of basic instructions for what can be considered best practices for common and confusing issues and tasks in PHP. If a low-level task has multiple and confusing approaches in PHP, it belongs here.
What this is
It's a guide suggesting the best direction to take when facing one of the common low-level tasks a PHP programmer might encounter that are unclear because of the many options PHP might offer. For example: connecting to a database is a common task with a large amount of possible solutions in PHP, not all of them good ones—thus, it's included in this document.
It's a series of short, introductory solutions. Examples should get you up and running in a basic setting, and you should do your own research to flesh them out into something useful to you.
It points to what we consider the state-of-the-art of PHP. However, this means that if you're using an older version of PHP, some of the features required to pull off these solutions might not be available to you.
This is a living document that I'll do my best to keep updated as PHP continues to evolve.
What this isn't
This document is not a PHP tutorial. You should learn the basics and syntax of the language elsewhere.
It's not a guide to common web application problems like cookie storage, caching, coding style, documentation, and so on.
It's not a security guide. While it touches upon some security-related issues, you're expected to do your own research when it comes to securing your PHP apps. In particular, you should carefully review any solution proposed here before implementing it. Your code is your own fault.
It's not an advocate of a certain coding style, pattern, or framework.
It's not an advocate for a certain way of doing high-level tasks like user registration, login systems, etc. This document is strictly for low-level tasks that, because of PHP's long history, might be confusing or unclear.
It's not a be-all and end-all solution, nor is it the only solution. Some of the methods described below might not be what's best for your particular situation, and there are lots of different ways of achieving the same ends. In particular, high-load web apps might benefit from more esoteric solutions to some of these problems.
Awesome PHP
A curated list of amazingly awesome PHP libraries, resources and shiny things.
Contributing
Please see CONTRIBUTING for details.
Table of Contents
Awesome PHP
Dependency Management
Dependency Management Extras
Frameworks
Framework Extras
Components
Micro Frameworks
Micro Framework Extras
Routers
Templating
Static Site Generators
HTTP
Middlewares
URL
Email
Files
Streams
Dependency Injection
Imagery
Testing
Continuous Integration
Documentation
Security
Passwords
Code Analysis
Architectural
Debugging and Profiling
Build Tools
Task Runners
Navigation
Asset Management
Geolocation
Date and Time
Event
Logging
E-commerce
PDF
Office
Database
Migrations
NoSQL
Queue
Search
Command Line
Authentication and Authorization
Markup
Strings
Numbers
Filtering and Validation
API
Caching
Data Structure and Storage
Notifications
Deployment
Internationalisation and Localisation
Third Party APIs
Extensions
Miscellaneous
Software
PHP Installation
Development Environment
Virtual Machines
Integrated Development Environment
Web Applications
Infrastructure
Resources
PHP Websites
Other Websites
PHP Books
PHP Videos
PHP Reading
PHP Internals Reading
Contributing
A simple, fast and secure PHP/AngularJS based single user feed and mail reader, password and bookmark manager.
CacoCloud is divided into a RESTful PHP backend storing all data into a SQLite database and an SPA frontend based on AngularJs.
A slim backend makes it fast, even a Raspberry Pi can handle it.
It is secure, all sensitive data like login credentials or mail accounts stored encrypted.
The clean and user-friendly UI lets you fall in love with application.
By transferring as less data as possible and smart client side caching of non sensitive data it will work even if your mobile network is slow.
Host your own CacoCloud whether you want.
Read your feeds everywhere, it saves your time clean up old feeds automagically.
Manages your common bookmarks.
Read your mails quick and reply to them, without configuring your mail accounts on every device. All mail account data are stored encrypted.
Manage your login credentials, all sensitive data get encrypted twice, once in the browser and a second time before saving them into the database.
An open RESTful API makes it easy writing your own client.
Export your bookmarks to XBEL or HTML and your feeds to OPML.
CacoCloud is written with love.
CacoCloud is open source and hosted GitHub.
Bookmarking websites might be the one thing most of us have been doing the longest on computers. In general, bookmarking has stayed the same for decades, but there's a lot of great new bookmarking tools that we looked at in our Guide to Bookmarking. We looked several browsers and apps that let you bookmark pages, but perhaps the most intriguing of them all is Unmark, a free app from the good folks at Plain that encourages you to categorize your bookmarks by what you want to do with them—read the enclosed article, buy the listed product, watch the accompanying YouTube video or listen to the featured track.
The best part about Unmark is that it's also available as an open-source version that you can host and run on your own server for free. Going self-hosted means all your data stays with you, and you don't have to worry about the service getting an update you don't like, or the service being shut down. And since the open-source version is hosted on GitHub, users with development skills can change the way it looks and works, and share these modifications with other Unmark users.
Today we're going to take you the process of setting up Unmark on your own server. All you need is a domain name and web hosting account with access to a MySQL database. Once you've got Unmark installed, you'll be able to use your very own bookmarking service from anywhere (including mobile browsers), on your domain, without restrictions. Bookmarking with Unmark is as simple as clicking a bookmarklet or using the extension for Chrome. Sound like fun? Let's do this!
An open source to do app for bookmarks. Made by Plain.
Let's face it: we all have great ideas for a web application. Whether you write them down on paper or remember them using your eidetic memory, there comes a point when you want test whether or not your idea is really viable.
In this tutorial, we'll use a micro framework, a templating language and an ORM to rapidly develop an application prototype.
If you are going to build an android application (it can be any other mobile platform or web too) that manages all the user data on a central database, REST API will be good architectural option to do the communication between the app and the server.
If you consider Evernote, Wunderlist apps, these apps can uninstalled at anytime and once we install them back and login, all our data will be restored. This is because all the data will stored in a cloud database and communication b/w app and database will be done using a REST API.
This tutorial gives enough knowledge about building a REST API for very beginners. As this tutorial seems lengthy, I had divided it into 2 parts. In the 1st part we learn fundamental concepts of REST and do the required setup. In the 2nd part building actual API (writing PHP & MySQL code) is covered.
Hi,
I would like to access th urlFor() helper directly in my view. Is this function exposed in the view. I couldn't see anything in the code. I guess I could just use slim::getInstance()->urlFor('blah'). Anyone have any better ideas? Or comments on this approach?
Thanks in advance.
Tony
Essential Skills:
• Proven experience of Object Oriented PHP5 using an MVC framework
• Experience writing complex SQL queries with an understanding of MySQL
• Experience developing JavaScript and Ajax web solutions.
Ideally:
• Strong experience with CSS3 and HTML5 and ideally JQuery
• Full LAMP stack experience as well as MySQL experience
• Linux system-administration experience and use of open source technologies
• Exposure to scripting languages
• Demonstrable ability to understand and re write legacy code
Nice to have:
• Agile programming experience
• C++ or Java experience
PHP Developer / Engineer, MVC Zend Symfony or CodeIgnitor
Company Background: A leading name within the teleconferencing domain. Established over 8 years ago the company is constantly growing and is looking for a PHP developer to join their IT team. The role has come about due to growth and offers a great chance for career progression as well as onsite training.
Role and Responsibilities: Working as part of the team developing and maintaining the company website. This is currently written in PHP. It uses MySQL databases and is deployed on both Linux and Windows Servers. The role will also involve communicating with representatives of the sales and customer support team to generate requirements and fix bugs. The role will also entail learning new technologies and coding styles.
Essential Skills:
• Proven experience of Object Oriented PHP5 using an MVC framework
• Experience writing complex SQL queries with an understanding of MySQL
• Experience developing JavaScript and Ajax web solutions.
Ideally:
• Strong experience with CSS3 and HTML5 and ideally JQuery
• Full LAMP stack experience as well as MySQL experience
• Linux system-administration experience and use of open source technologies
• Exposure to scripting languages
• Demonstrable ability to understand and re write legacy code
Nice to have:
• Agile programming experience
• C++ or Java experience
Commutable Locations:
Guildford, Twickenham, Staines, Hounslow and Kingston. Central London is also within commutable distance.
Salary- £35,000-£45,000 + various benefits!
Contact:
Chris Burke - Consultant at Reqiva LTD - 01189 595 552
This package is a framework to handle REST requests with command classes.
It can process and route HTTP requests to command classes based on the REST request URL.
The command class objects are instantiated by the observer class which may call the command objects to execute the request REST API action.
If necessary an API request token is checked to authorize the action API call access.
The command classes are responsible for returning the request response data.
Speedy Sites: Nginx and PHP
20
FEB
In the previous article in this series, we looked at using Apache with mod_pagespeed to perform on-the-fly enhancements to decrease page load times. Getting an optimised page is only half the battle however; we need to ensure that our backend is doing as little work as possible in order to be highly scalable. In this article, we look at how we can achieve this while improving performance – all with nginx.
What is nginx?
For those unfamiliar with nginx, it describes itself as “a free, open-source, high-performance HTTP server and reverse proxy”, first released publicly in 2004, and becoming one of the most successful webservers in the past few years – their wiki has an impressive list of sites powered by it. The biggest advantage it has over the tried-and-tested Apache webserver is that it uses an event-driven, asynchronous architecture – so it doesn’t rely on threads to handle requests. What does this mean in real terms? Well, apart from predictable increases in memory usage under load, the key point for us at the moment is that it can serve static content fast. Really fast.