/
Coumputer /
Programming PHP Training Reference
Top PHP Projects Social Network Platform Project Management Compare PHP frameworks PHP Scrips Leaf Framework Fat-Free Micro-Framework Environment Variables in Windows for PHP Cheatsheet for PHP PDO Tutorial - Comparison PDO & MYSQL & MYSQLI Online PHP functions Algorithm include vs. require Constructor (مفهوم سازنده) Property Visibility Best Chart Generation Options with PHP Multilingual & Content Negotiation RSS Feed and XML Remove Specific Class And Attributes From Html Tags Encoding and Decoding Encrypted PHP Variables & Array Как включить логи php _custom_check_national_code Forms formr PHP Form Builder پسوردTop PHP Projects
Social Network Platform
WoWonder - The Ultimate PHP Social Network Platform by DoughouzForest
Project Management
Rise CRM
Perfex CRM
Compare PHP frameworks
GitHub - myaaghubi/PHP-Frameworks-Bench: A library to make benchmarks from PHP frameworks.
Laravel, Symfony, Yii, CodeIgniter, CakePHP - Анализ - Google Trends
آموزش yii framework 2 - مکتب خونه
The Best PHP Frameworks for Web Development
1. Laravel
2. CodeIgniter
3. Symfony
4. Zend
5. Yii
6. CakePHP
Other: Laravel, Symfony, CodeIgniter, CakePHP, Phalcon, Yii 2, Zend Framework, FuelPHP, Slim, PHPixie
Yii:
— Yii2 популярен только в РФ (снг с трендом спада), устаревший и велосипедный местами
— более популярный, специалистов больше.
— есть много наработок, готового кода и т.д.
— разработка быстрее, но менее гибкая.
CodeIgniter:
— это микрофреймворк, по этому есть большая гибкость в разработке.
— по той же причине разработка дольше, хотя если сайт не сложный Вы этого не почувствуете.
— после возрождения CodeIgniter очень быстро развивается (по крайней мере так говорят).
PHP Scrips
Codecanyon Official
Codecanyon Official - Laravel
Codecanyon Official - Codeigniter
Codecanyon Official - Yii
Codecanyon Official - Symfony
Codecanyon Official - Node.js
Codecanyon Official - Reactjs
Codecanyon Official - Angular JS
Codecanyon Official - .Net 4.5
Codecanyon Official - JQuery
https://codecanyon.net/attributes/compatible-with/swift
https://codecanyon.net/attributes/compatible-software/other
https://codecanyon.net/attributes/software-framework/cakephp
https://codecanyon.net/attributes/compatible-software/flutter%203.x
https://codecanyon.net/attributes/compatible-software/flutter%202.x
Nulleb
Codelist
saasworthy
Freshcode
Leaf Framework
Introduction | Leaf PHP
Leaf PHP Framework - YouTube
Fat-Free Micro-Framework
Fat-Free Framework for PHP
Environment Variables in Windows for PHP
Environment variables in Windows are queued by percent (%) characters.
%appdata%
%temp%
%userprofile%
%homepath%
Edit the system environment variables:
rundll32 sysdm.cpl,EditEnvironmentVariables
Environment variables -> New ...
in command line
echo %PATH%
php -S localhost:4000
New Folder "www" in C:\Users\nameuser
In browser "http://localhost:4000/www/"
$phrase = "Giraffe Academy";
$phrase[0] = "B";
echo $phrase; // Biraffe Academy
$num = 10;
$num --;
echo $num;
if($phrase && $num)
if($phrase || $num)
Working with strings in PHP
Introduction
error_reporting(0);
set_time_limit (0);
Print Array
print_r
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
print_r — Prints human-readable information about a variable
var_dump
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
var_dump — Dumps information about a variable
var_export
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
var_export — Outputs or returns a parsable string representation of a variable
$text= strip_tags($text, '');
کار با تگها در HTML
$dom = new DomDocument;
$dom->loadHTML($text);
$dom->preserveWhiteSpace = false;
$divs = $dom->getElementsByTagName('dd');
foreach ($divs as $div) {
echo $ii += 1;
echo $div->nodeValue . "\n";
}
Create array from the contents of
tags in php - Stack Overflow
DOMDocument (with DOMXPath)
Cheatsheet for PHP
PHP Arithmetic Operations :: pow() Cheatsheet for PHP 7.2.0
HTML Cheat Sheet | OverAPI.com
BlueShoes: PHP Cheat Sheet
20 Must Have PHP Cheat Sheet for Every Developers
PDO Tutorial - Comparison PDO & MYSQL & MYSQLI
Introduction to PHP PDO
PHP MySQL: Querying Data from Database
Select Statements with PDO – Must Be Built
Online PHP functions
Online strip_tags() function - Online PHP functions
PHP Online Function Tester
OnlinePHPFunctions - Test PHP functions online
PHPTESTER - Test PHP code online
execute PHP online - functions-online (русский)
PHP Functions Online - WritePHPOnline
PHP Functions – Quickly test PHP calls within your browser
Algorithm
Category:Trees (graph theory) - Wikipedia
n-ary-tree Archives - GeeksforGeeks
Depth of an N-Ary tree - GeeksforGeeks
Number of children of given node in n-ary Tree - GeeksforGeeks
Decision tree learning - Wikipedia
N Ary Trees Data Structures - Stack Overflow
Brodal queue - Wikipedia
Number of children of given node in n-ary Tree - GeeksforGeeks
K-ary Heap - GeeksforGeeks
k-ary tree - Wikipedia
include vs. require
در صورت عدم وجود فایل مورد نظر برای فراخوانی:
فرمان include فقط یک warning میدهد و بقیه کدها را میخواند اما فرمان require یک error میدهد و آن صفحه موقف میشود.
Constructor (مفهوم سازنده)
در php متد سازنده یک کلاس با نام _construct مشخص میشود. اغلب برنامه نویسان از این متد برای عملیاتی همانند مقدار دهی اولیه خاصیتهای شی استفاده میکنند. درصورتی که در یک کلاس متد سازنده تعریف شده باشد به هنگام ایجاد یک شی از کلاس،متد سازنده آن به طور خود کار فراخوانی خواهد شد.یک متد سازنده میتواند آرگومانهایی را نیز دریافت کند و براساس آن عملیات مقدار دهی اولیه را انجام دهد.
سازنده نوع به خصوصی از یک متد در کلاس میباشد و زمانی که نمونهای از کلاس ایجاد شود، به صورت خودکار فراخوانی میگردد. سازنده برای مقدار دهی اولیه شی و تخصیص حافظه به یک کلاس مورد استفاده قرار میگیرد. زمانی که نمونه یا شیئای از کلاس ایجاد شود، فیلدهای خصوصی(Private) کلاس نیز مقداردهی اولیه میشوند. وقتی که ما سازنده را برای کلاس ایجاد نکنیم، کامپایلر به صورت اتوماتیک، یک سازنده پیش فرض برای کلاس ایجاد میکند. نام سازنده همیشه هم نام کلاس است.
مفهوم سازنده (Constructor)
انواع سازندهها
-سازنده پیش فرض(Default)
-سازنده پارامتردهی شده (Parameterized)
-سازنده ایستا(Static)
-سازنده خصوصی (Private)
سازنده پیش فرض(Default)
به سازندهای میگویند که هیچ نوع پارامتری برای آن تعریف نشده باشد به عبارت دیگر بدون پارامتر است. این سازنده مقادیر مشابه در هر نمونه(instance) از کلاس را مقدار دهی میکند.
سازنده پارامتردهی شده (Parameterized)
سازندهای است که حداقل یک پارامتر دارد. با استفاده از این نوع سازنده میتوانیم هر نمونه از کلاس را با مقادیر متفاوت مقدار دهی کنیم.
سازنده ایستا(Static)
سازنده استاتیک برای مقدار دهی هر نوع داده استاتیک از کلاس یا انجام هر عملی(متد) که باید یک بار اجرا شود، مورد استفاده قرار میگیرد. سازنده استاتیک به صورت خودکار و قبل از اولین نمونه سازی از کلاس یا هر داده استاتیک فراخوانی میشود. این سازنده یک بار برای هر تعداد نمونه کلاس ایجاد میشود.
نکات کلیدی سازنده استاتیک
تنها یک سازنده استاتیک میتواند در کلاس ایجاد شود.
سازنده استاتیک هیچ نوع پارامتری نمیگیرد زیرا به طور خودکار توسط CLR یا access modifier فراخوانی میشود.
این سازنده به طور خودکار و قبل از اینکه اولین نمونه کلاس ایجاد شود فراخوانی میشود.
نمی توان سازنده استاتیک را به طور مستقیم فراخوانی کرد.
چه زمانی از سازنده استاتیک استفاده میشود؟
سازنده استاتیک زمانی که کلاسهای wrapper را برای کدهای مدیریت نشده ایجاد میکنید مورد استفاده قرار میگیرد. همچنین میتوانید آن را زمانی که از فایل Log استفاده میکنید مورد استفاده قرار دهید و سازنده برای نوشتن ورودیها بکار گرفته شود.
سازنده خصوصی (Private)
سازنده Private یک سازنده به خصوص است که به طور کلی در کلاسی مورد استفاده قرا میگیرد که فقط شامل تنها اعضای استاتیک باشد. اگر کلاسی فقط سازنده خصوصی داشته و هیچ نوع سازنده عمومی نداشته باشد در این حالت، امکان ایجاد نمونه جدید از کلاس وجود ندارد. در واقع private constructor از ایجاد نمونه سازی کلاس جلوگیری میکند. اما اگر بخواهید یک نمونه از کلاسی ایجاد کنید که سازنده خصوصی دارد، باید یک سازنده عمومی همراه با سازنده خصوصی ایجاد کنید.
آموزش متد جادویی construct
Property Visibility
public: در همه جا
protected: تنها در کلاسهای فرزند قابل فراخوانی
private: تنها در کلاس اصلی قابل دسترس
PHP: Visibility - Manual
شی گرایی در PHP و سطوح دسترسی و ارث بری - هیتوس
MegaWeb| تفاوت بین public، private و protected در php
Best Chart Generation Options with PHP
PHP Line Charts & Graphs | CanvasJS
PHP Charts & Graphs - FusionCharts
4 Best Chart Generation Options with PHP Components — SitePoint
Multilingual & Content Negotiation
Content Negotiation in CodeIgniter 4 - New Myth Media Blog
Docs: hreflang & Content Language Tags | TechnicalSEO.com
seo - How to make Google recognize language for a multilingual website? - Webmasters Stack Exchange
language detection by subdomain
PHP Master | Multi-Language Support in CodeIgniter
GitHub - waqleh/codeigniter-language-in-url-internationalization: Language in URL:
RSS Feed and XML
Build an RSS 2.0 Feed with CodeIgniter
Article Central RSS
GitHub - Mitaka777/ci-sitemap: A simple sitemap generator for CodeIgniter
CodeIgniter Forums - Best Way To Add Sitemap
frameworks - Sitemap generation with Codeigniter - Stack Overflow
Remove Specific Class And Attributes From Html Tags
HTML Sanitizer: Remove unsafe tags and attributes from HTML code - PHP Classes
HTML Purifier Live Demo
How To Remove Specific Class And Attributes From Html Tags Using PHP?
Encoding and Decoding Encrypted PHP
Hash: online hash value calculator
CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.
Variables & Array
Passing variables to all views.
PHP array_push() Append Elements to an Array -- EndMemo
CodeIgniter Forums - How to store array values in a foreach loop
arrays - CodeIgniter: global variables in a controller - Stack Overflow
Как включить логи php
Включить логи php с помощью файла .htaccess, простой вариант:
php_value display_errors on
php_value display_startup_errors on
Включить логи php с помощью файла .htaccess, расширенный вариант:
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag track_errors on
php_flag display_errors on
php_flag display_startup_errors on
php_flag log_errors on
php_flag mysql.trace_mode on
php_value error_reporting -1
php_value error_log /path/to/site/php-errors.log
Таким образом ошибки php будут выводиться на экран, а также логироваться в файл php-errors.log
Вывод ошибок прямо из php скрипта:
ini_set("display_errors","1");
ini_set("display_startup_errors","1");
ini_set('error_reporting', E_ALL);
Включить логи php изменив php.ini
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
error_log = /var/log/php-errors.log
ساخت ربات تلگرام با 10 خط کُد PHP! - بات چین botchain.ir
In Memory Data Management and Analysis
Thanks for your reply but I'm still having this issue. :exclamation:
It is intended to display on one page five languages simultaneously in the view.
:idea: for example "$request->setLocale('ru')". This command only works in the control.
We need to run this command or same code in the view for switch languages concurrently.
контрабандный
To display different currency, it is predesignated to be used in the view as the third parameter to the lang() method, but we want to return the string by the language key in many languages.
For example, similar to the currency as the third parameter:
https://codeigniter4.github.io/userguide/outgoing/localization.html?highlight=language#specifying-locale
Inspired by ziadoz/awesome-php
Inspired by codeigniter-id/awesome-codeigniter
A curated list of amazingly awesome PHP libraries, resources and shiny things.
Contributing and Collaborating
Please see CONTRIBUTING, CODE-OF-CONDUCT and COLLABORATING for details.
Composer Repositories.
Libraries for dependency and package management.
- Composer Installers - A multi framework Composer library installer.
- Composer - A package and dependency manager.
- Melody - A tool to build one file Composer scripts.
- Pickle - A PHP extension installer.
Extras related to dependency management.
- Composed - A library to parse your project's Composer environment at runtime.
- Composer Merge Plugin - A composer plugin to merge several composer.json files.
- Prestissimo - A composer plugin which enables parallel install process.
- Repman - A private PHP package repository manager and Packagist proxy.
- Satis - A static Composer repository generator.
- tooly - A library to manage PHAR files in project using Composer.
- Toran Proxy - A static Composer repository and proxy.
Web development frameworks.
- CakePHP - A rapid application development framework.
- Laminas - A framework comprised of individual components (previously Zend Framework).
- Laravel - A web application framework with expressive, elegant syntax.
- Nette - A web framework comprised of mature components.
- Phalcon - A framework implemented as a C extension.
- Spiral - A high performance PHP/Go framework.
- Symfony - A set of reuseable components and a web framework.
- Yii2 - A fast, secure, and efficient web framework.
Extras related to web development frameworks.
- CakePHP CRUD - A Rapid Application Development (RAD) plugin for CakePHP.
- Knp RAD Components - A set of Rapid Application Development (RAD) components for Symfony.
- LaravelS - Glue for using Swoole in Laravel or Lumen.
- Symfony CMF - A Content Management Framework to create custom CMS.
Tools for managing digital content. Backdrop - A CMS targeting small-to-medium sized business and non-profits (a fork of Drupal). Concrete5 - A CMS targeting users with a minimum of technical skills. Drupal - An enterprise level CMS. Grav - A modern flat-file CMS. Joomla - Another leading CMS. Magento - The most popular ecommerce platform. Pico CMS - A stupidly simple, blazing fast, flat file CMS. WordPress - A blogging platform and CMS. * Moodle - An open-source learning platform.
Standalone components from web development frameworks and development groups.
Micro frameworks and routers.
- Laravel-Zero - A micro-framework for console applications.
- Lumen - A micro-framework by Laravel.
- Mezzio - A micro-framework by Laminas.
- Radar - An Action-Domain-Responder implementation for PHP.
- Silly - A micro-framework for CLI applications.
- Slim - Another simple micro framework.
Extras related to micro frameworks and routers.
Libraries for handling application routing.
- Aura.Router - A full-featured routing library.
- Fast Route - A fast routing library.
- Klein - A flexible router.
- Pux - Another fast routing library.
- Route - A routing library built on top of Fast Route.
Libraries and tools for templating and lexing.
- MtHaml - A PHP implementation of the HAML template language.
- Mustache - A PHP implementation of the Mustache template language.
- PHPTAL - A PHP implementation of the TAL templating language.
- Plates - A native PHP templating library.
- Smarty - A template engine to complement PHP.
- Twig - A comprehensive templating language.
Tools for pre-processing content to generate web pages.
- Couscous - Couscous turns Markdown documentation into beautiful websites. It's GitHub Pages on steroids.
- Sculpin - A tool that converts Markdown and Twig into static HTML.
- Spress - An extensible tool that converts Markdown and Twig into HTML.
Libraries for working with HTTP.
- Buzz - Another HTTP client.
- Guzzle - A comprehensive HTTP client.
- HTTPlug - An HTTP client abstraction without binding to a specific implementation.
- Nyholm PSR-7 - A super lightweight PSR-7 implementation. Very strict and very fast.
- PHP VCR - A library for recording and replaying HTTP requests.
- Requests - A simple HTTP library.
- Retrofit - A library to ease creation of REST API clients.
- Symfony HTTP Client - A component to fetch HTTP resources synchronously or asynchronously.
- Laminas Diactoros - PSR-7 HTTP Message implementation.
Libraries for scraping websites.
- DiDOM - A super fast HTML scrapper and parser.
- Embed - An information extractor from any web service or page.
- Goutte - A simple web scraper.
- Symfony Panther - A browser testing and web crawling library for PHP and Symfony.
- PHP Spider - A configurable and extensible PHP web spider.
Libraries for building application using middlewares.
Libraries for parsing URLs.
- PHP Domain Parser - A domain suffix parser library.
- Purl - A URL manipulation library.
- sabre/uri - A functional URI manipulation library.
- Uri - Another URL manipulation library.
Libraries for sending and parsing email.
Libraries for file manipulation and MIME type detection.
- CSV - A CSV data manipulation library.
- Flysystem - Abstraction for local and remote filesystems.
- Gaufrette - A filesystem abstraction layer.
- Hoa Mime - Another MIME detection library.
- PHP FFmpeg - A wrapper for the FFmpeg video library.
- UnifiedArchive - A unified reader and writer of compressed archives.
Libraries for working with streams.
- ByteStream - An asynchronous stream abstraction.
- Streamer - A simple object-orientated stream wrapper library.
Libraries that implement the dependency injection design pattern.
- Aura.Di - A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more.
- Acclimate - A common interface to dependency injection containers and service locators.
- Auryn - A recursive dependency injector.
- Container - Another flexible dependency injection container.
- Disco - A PSR-11 compatible, annotation-based dependency injection container.
- PHP-DI - A dependency injection container that supports autowiring.
- Pimple - A tiny dependency injection container.
- Symfony DI - A dependency injection container component.
Libraries for manipulating images.
Libraries for testing codebases and generating test data.
- Alice - An expressive fixture generation library.
- AspectMock - A mocking framework for PHPUnit/Codeception.
- Atoum - A simple testing library.
- Behat - A behaviour driven development (BDD) testing framework.
- Codeception - A full stack testing framework.
- Faker - A fake data generator library.
- HTTP Mock - A library for mocking HTTP requests in unit tests.
- Infection - An AST-based PHP Mutation testing framework.
- Kahlan - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
- Mink - Web acceptance testing.
- Mockery - A mock object library for testing.
- ParaTest - A parallel testing library for PHPUnit.
- Peridot - An event driven test framework.
- Phake - Another mock object library for testing.
- Pho - Another behaviour driven development testing framework.
- PHP-Mock - A mock library for built-in PHP functions (e.g. time()).
- PHPSpec - A design by specification unit testing library.
- PHPT - A test tool used by PHP itself.
- PHPUnit - A unit testing framework.
- Prophecy - A highly opinionated mocking framework.
- VFS Stream - A virtual filesystem stream wrapper for testing.
Libraries and applications for continuous integration.
- CircleCI - A continuous integration platform.
- GitlabCi - Let GitLab CI test, build, deploy your code. TravisCi like.
- Jenkins - A continuous integration platform with PHP support.
- JoliCi - A continuous integration client written in PHP and powered by Docker.
- PHPCI - An open source continuous integration platform for PHP.
- SemaphoreCI - A continuous integration platform for open source and private projects.
- Shippable - A Docker based continious integration platform for open source and private projects.
- Travis CI - A continuous integration platform.
- Setup PHP - A GitHub Action for PHP.
Libraries for generating project documentation.
- APIGen - Another API documentation generator.
- daux.io - A documentation generator which uses Markdown files.
- PHP Documentor 2 - A documentation generator.
- phpDox - A documentation generator for PHP projects (that is not limited to API documentation).
Libraries for generating secure random numbers, encrypting data and scanning and testing for vulnerabilities.
- Securimage PHP Captcha
- Halite - A simple library for encryption using libsodium.
- HTML Purifier - A standards compliant HTML filter.
- IniScan - A tool that scans PHP INI files for security.
- Optimus - Id obfuscation based on Knuth's multiplicative hashing method.
- PHPGGC - A library of PHP unserializeable payloads along with a tool to generate them.
- PHP Encryption - Secure PHP Encryption Library.
- PHP SSH - An experimental object orientated SSH wrapper library.
- PHPSecLib - A pure PHP secure communications library.
- random_compat - PHP 5.x support for
random_bytes()
and random_int()
- RandomLib - A library for generating random numbers and strings.
- Symfony Security Monitoring - A web tool to check your Composer dependencies for security advisories, previously known as "SensioLabs Security Check".
- SQLMap - An automatic SQL injection and database takeover tool.
- TCrypto - A simple encrypted key-value storage library.
- VAddy - A continuous security testing platform for web applications.
- Zap - An integrated penetration testing tool for web applications.
Libraries and tools for working with and storing passwords.
- GenPhrase - A library for generating secure random passphrases.
- Password Compat - A compatibility library for the new PHP 5.5 password functions.
- Password Policy - A password policy library for PHP and JavaScript.
- Password Validator - A library for validating and upgrading password hashes.
- Password-Generator - PHP library to generate random passwords.
- PHP Password Lib - A library for generating and validating passwords.
- phpass - A portable password hashing framework.
- Zxcvbn PHP - A realistic PHP password strength estimate library based on Zxcvbn JS.
Libraries and tools for analysing, parsing and manipulating codebases.
Libraries for managing code quality, formatting and linting.
- PHP CodeSniffer - A library that detects PHP, CSS and JS coding standard violations.
- PHP CS Fixer - A coding standards fixer library.
- PHP Mess Detector - A library that scans code for bugs, sub-optimal code, unused parameters and more.
- PHPCheckstyle - A tool to help adhere to certain coding conventions.
- PHPCPD - A library that detects copied and pasted code.
Libraries for performing static analysis of PHP code.
- Exakat - A static analysis engine for PHP.
- Deptrac - A static code analysis tool that helps to enforce rules for dependencies between software layers.
- Mondrian - A code analysis tool using Graph Theory.
- phan - A static analyzer based on PHP 7+ and the php-ast extension.
- PHP Architecture Tester - Easy to use architecture testing tool for PHP.
- PHPCompatibility - A PHP compatibility checker for PHP CodeSniffer.
- PhpDependencyAnalysis - A tool to create customisable dependency graphs.
- PHP Metrics - A static metric library.
- PHP Migration - A static analyzer for PHP version migration.
- PHPStan - A PHP Static Analysis Tool.
- Psalm - A static analysis tool for finding errors in PHP applications.
Libraries related to design patterns, programming approaches and ways to organize code.
- Design Patterns PHP - A repository of software patterns implemented in PHP.
- Finite - A simple PHP finite state machine.
- Functional PHP - A functional programming library.
- Iter - A library that provides iteration primitives using generators.
- Patchwork - A library for redefining userland functions.
- Pipeline - A pipeline pattern implementation.
- Porter - Data import abstraction library for consuming Web APIs and other data sources.
- Ruler - A simple stateless production rules engine.
- RulerZ - A powerful rule engine and implementation of the Specification pattern.
Debugging and Profiling
Libraries and tools for debugging errors and profiling code.
- APM - Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
- Barbushin PHP Console - Another web debugging console using Google Chrome.
- Blackfire.io - A low-overhead code profiler.
- Kint - A debugging and profiling tool.
- PCOV - A self contained code coverage compatible driver.
- PHP Console - A web debugging console.
- PHP Debug Bar - A debugging toolbar.
- PHPBench - A benchmarking Framework.
- PHPSpy - A low-overhead sampling profiler.
- Symfony VarDumper - A variable dumper component.
- Tideways.io - Monitoring and profiling tool.
- Tracy - A simple error detection, logging and time measuring library.
- Whoops - A pretty error handling library.
- xDebug - A debug and profile tool for PHP.
- XHProf - A profiling tool originally developed by Facebook.
- Z-Ray - A debug and profile tool for Zend Server.
Project build and automation tools.
- Box - A utility to build PHAR files.
- Construct - A PHP project/micro-package generator.
- Phing - A PHP project build system inspired by Apache Ant.
Libraries for automating and running tasks.
- Bldr - A PHP Task runner built on Symfony components.
- Jobby - A PHP cron job manager without modifying crontab.
- Robo - A PHP Task runner with object-orientated configurations.
- Task - A pure PHP task runner inspired by Grunt and Gulp.
Tools for building navigation structures.
- KnpMenu - A menu library.
- Menu - A flexible menu library with a fluent interface.
Tools for managing, compressing and minifying website assets.
- JShrink - A JavaScript minifier library.
- Laravel Mix - An elegant wrapper around Webpack for the 80% use case.
- Symfony Asset - Manages URL generation and versioning of web assets.
- Symfony Encore - A simple but powerful API for processing and compiling assets built around Webpack.
Libraries for geocoding addresses and working with latitudes and longitudes.
Date and Time
Libraries for working with dates and times.
- CalendR - A calendar management library.
- Carbon - A simple DateTime API extension.
- Chronos - A DateTime API extension supporting both mutable and immutable date/time.
- Moment.php - Moment.js inspired PHP DateTime handler with i18n support.
- Yasumi - An library to help you calculate the dates and names of holidays.
Libraries that are event-driven or implement non-blocking event loops. Amp - An event driven non-blocking I/O library. Broadway - An event source and CQRS library. CakePHP Event - An event dispatcher library. Elephant.io - Yet another web socket library. Evenement - An event dispatcher library. Event - An event library with a focus on domain events. Hoa EventSource - An event source library. Hoa WebSocket - Another web socket library. Prooph Event Store - An event source component to persist event messages PHP Defer - Golang's defer statement for PHP. Ratchet - A web socket library. ReactPHP - An event driven non-blocking I/O library. RxPHP - A reactive extension library. Swoole - An event-driven asynchronous and concurrent networking communication framework with high performance for PHP written in C. * Workerman - An event driven non-blocking I/O library.
Libraries for generating and working with log files.
Libraries and applications for taking payments and building online e-commerce stores.
- Money - A PHP implementation of Fowler's money pattern.
- Brick\Money - A money library for PHP, with support for contexts, cash roundings, currency conversion.
- OmniPay - A framework agnostic multi-gateway payment processing library.
- Payum - A payment abstraction library.
- Shopware - Highly customizable e-commerce software
- Swap - An exchange rates library.
- Sylius - An open source e-commerce solution.
Libraries and software for working with PDF files.
- Dompdf - A HTML to PDF converter.
- PHPPdf - A library for generating PDFs and images from XML.
- Snappy - A PDF and image generation library.
- WKHTMLToPDF - A tool to convert HTML to PDF.
- tcpdf - PHP class for generating PDF files on-the-fly without requiring external extensions.
- FPDF - A PHP class which allows to generate PDF files with pure PHP, that is to say without using the PDFlib library.
Libraries for working with office suite documents.
- PHPPowerPoint - A library for working with Microsoft PowerPoint Presentations.
- PHPWord - A library for working with Microsoft Word documents.
- PHPSpreadsheet - A pure PHP library for reading and writing spreadsheet files (successor of PHPExcel).
- Spout - Read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way .
Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.
- Atlas.Orm - A data mapper implementation for your persistence model in PHP.
- Aura.Sql - Provides an extension to the native PDO along with a profiler and connection locator.
- Aura.SqlQuery - Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server.
- Baum - A nested set implementation for Eloquent.
- CakePHP ORM - Object-Relational Mapper, implemented using the DataMapper pattern.
- Cycle ORM - PHP DataMapper, ORM.
- Doctrine Extensions - A collection of Doctrine behavioural extensions.
- Doctrine - A comprehensive DBAL and ORM.
- Laravel Eloquent - A simple ORM.
- Pomm - An Object Model Manager for PostgreSQL.
- ProxyManager - A set of utilities to generate proxy objects for data mappers.
- RedBean - A lightweight, configuration-less ORM.
- Spot2 - A MySQL datamapper ORM.
Libraries to help manage database schemas and migrations.
- Doctrine Migrations - A migration library for Doctrine.
- Migrations - A migration management library.
- Phinx - Another database migration library.
- PHPMig - Another migration management library.
- Ruckusing - Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite.
Libraries for working with "NoSQL" backends.
Libraries for working with event and task queues.
- Bernard - A multibackend abstraction library.
- BunnyPHP - A performant pure-PHP AMQP (RabbitMQ) sync and also async (ReactPHP) library.
- Pheanstalk - A Beanstalkd client library.
- PHP AMQP - A pure PHP AMQP library.
- Tarantool Queue - PHP bindings for Tarantool Queue.
- Thumper - A RabbitMQ pattern library.
- Enqueue - A message queue packages for PHP that supports RabbitMQ, AMQP, STOMP, Amazon SQS, Redis and Doctrine transports.
Libraries and software for indexing and performing search queries on data.
Command Line
Libraries related to the command line.
- Aura.Cli - Provides the equivalent of request ( Context ) and response ( Stdio ) objects for the command line interface, including Getopt support, and an independent Help object for describing commands.
- Boris - A tiny PHP REPL.
- Cilex - A micro framework for building command line tools.
- CLI Menu - A library for building CLI menus.
- CLIFramework - A command-line framework supports zsh/bash completion generation, subcommands and option constraints. It also powers phpbrew.
- CLImate - A library for outputting colours and special formatting.
- Commando - Another simple command line opt parser.
- Cron Expression - A library to calculate cron run dates.
- GetOpt - A command line opt parser.
- GetOptionKit - Another command line opt parser.
- Hoa Console - Another command line library.
- PsySH - Another PHP REPL.
- ShellWrap - A simple command line wrapper library.
Authentication and Authorization
Libraries for implementing user authentication and authorization.
Libraries for working with markup.
Libraries for parsing and manipulating strings.
- Agent - A PHP desktop/mobile user agent parser, based on Mobiledetect.
- ANSI to HTML5 - An ANSI to HTML5 converter library.
- Color Jizz - A library for manipulating and converting colours.
- Device Detector - Another library for parsing user agent strings.
- Hoa String - Another UTF-8 string library.
- Jieba-PHP - A PHP port of Python's jieba. Chinese text segmentation for natural language processing.
- Mobile-Detect - A lightweight PHP class for detecting mobile devices (including tablets).
- Patchwork UTF-8 - A portable library for working with UTF-8 strings.
- Portable UTF-8 - A string manipulation library with UTF-8 safe replacement methods.
- Slugify - A library to convert strings to slugs.
- SQL Formatter - A library for formatting SQL statements.
- Stringy - A string manipulation library with multibyte support.
- UA Parser - A library for parsing user agent strings.
- URLify - A PHP port of Django's URLify.js.
- UUID - A library for generating UUIDs.
Libraries for working with numbers.
- Brick\Math - A library providing large number support:
BigInteger
, BigDecimal
and BigRational
.
- ByteUnits - A library to parse, format and convert byte units in binary and metric systems.
- LibPhoneNumber for PHP - A PHP implementation of Google's phone number handling library.
- PHP Conversion - Another library for converting between units of measure.
- PHP Units of Measure - A library for converting between units of measure.
Filtering and Validation
Libraries for filtering and validating data.
- Assert - A validation library with a rich set of assertions. Supports assertion chaining and lazy assertions.
- Aura.Filter - Provides tools to validate and sanitize objects and arrays.
- CakePHP Validation - Another validation library.
- Filterus - A simple PHP filtering library.
- ISO-codes - A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries.
- JSON Schema - A JSON Schema validation library.
- MetaYaml - A schema validation library that supports YAML, JSON and XML.
- Respect Validation - A simple validation library.
- Upload - A library for handling file uploads and validation.
- Valitron - Another validation library.
- Volan - Another simplified validation library.
Libraries and web tools for developing APIs.
- API Platform - Expose in minutes an hypermedia REST API that embraces JSON-LD, Hydra format.
- Laminas API Tool Skeleton - An API builder built with the Laminas Framework.
- Drest - A library for exposing Doctrine entities as REST resource endpoints.
- HAL - A Hypertext Application Language (HAL) builder library.
- Hateoas - A HATEOAS REST web service library.
- Negotiation - A content negotiation library.
- Restler - A lightweight framework to expose PHP methods as RESTful web API.
- wsdl2phpgenerator - A tool to generate PHP classes from SOAP WSDL files.
Libraries for caching data.
Data Structure and Storage
Libraries that implement data structure or storage techniques.
- CakePHP Collection - A simple collections library.
- Fractal - A library for converting complex data structures to JSON output.
- Ginq - Another PHP library based on .NET's LINQ.
- JsonMapper - A library that maps nested JSON structures onto PHP classes.
- JSON Machine - Provides iteration over huge JSONs using simple
foreach
- Knapsack - Collection library inspired by Clojure's sequences.
- msgpack.php - A pure PHP implementation of the MessagePack serialization format.
- PINQ - A PHP library based on .NET's LINQ (Language Integrated Query).
- Serializer - A library for serialising and de-serialising data.
- YaLinqo - Yet Another LINQ to Objects for PHP.
- Laminas Serializer - Another library for serialising and de-serialising data.
Libraries for working with notification software.
- JoliNotif - A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc)
- Notification Pusher - A standalone library for device push notifications.
- Notificato - A library for handling push notifications.
- Notificator - A lightweight notification library.
- Php-pushwoosh - A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.
Libraries for project deployment.
- Deployer - A deployment tool.
- Envoy - A tool to run SSH tasks with PHP.
- Rocketeer - A fast and easy deployer for the PHP world.
Internationalisation and Localisation
Libraries for Internationalization (I18n) and Localization (L10n).
- Aura.Intl - Provides internationalization (I18N) tools, specifically package-oriented per-locale message translation.
- CakePHP I18n - Message translation and localization for dates and numbers.
Libraries and tools to help build serverless web applications.
- Bref - Serverless PHP on AWS Lambda.
- OpenWhisk - An open source serverless cloud platform.
- Serverless Framework - An open source framework for building serverless applications.
- Laravel Vapor - A serverless deployment platform for Laravel, powered by AWS.
Libraries and tools for configuration.
Libraries for accessing third party APIs.
- Amazon Web Service SDK - The official PHP AWS SDK library.
- AsyncAWS - An unofficial asynchronous PHP AWS SDK.
- Campaign Monitor - The official Campaign Monitor PHP library.
- Dropbox SDK - The official PHP Dropbox SDK library.
- Github - A library to interface with the Github API.
- Mailgun The official Mailgun PHP API.
- Square - The official Square PHP SDK for payments and other Square APIs.
- Stripe - The official Stripe PHP library.
- Twilio - The official Twilio PHP REST API.
Libraries to help build PHP extensions.
- PHP CPP - A C++ library for developing PHP extensions.
- Zephir - A compiled language between PHP and C++ for developing PHP extensions.
Useful libraries or tools that don't fit in the categories above.
- Annotations - An annotations library (part of Doctrine).
- BotMan - A framework agnostic PHP library to build cross-platform chat bots.
- CakePHP Utility - Utility classes such as Inflector, String, Hash, Security and XML.
- Chief - A command bus library.
- ClassPreloader - A library for optimising autoloading.
- Country List - A list of all countries with names and ISO 3166-1 codes.
- Embera - An Oembed consumer library.
- Essence - A library for extracting web media.
- Expose - An open source PHP tunneling service.
- Graphviz - A Graphviz library.
- Hprose-PHP - A very newbility RPC Library, support 25+ languages now.
- JSON Lint - A JSON lint utility.
- JSONPCallbackValidator - A library for validating JSONP callbacks.
- Lock - A lock library to provide exclusive execution.
- Metrics - A simple metrics API library.
- noCAPTCHA - Helper for Google's noCAPTCHA (reCAPTCHA).
- Nmap - A PHP wrapper around Nmap.
- Pagerfanta - A pagination library.
- PHP PassBook - A PHP library for iOS PassBook.
- PHP-ML - A library for Machine Learning in PHP.
- PHPCR - A PHP port of the Java Content Repository (JCR).
- PHPStack - A TCP/IP stack proof of concept written in PHP.
- print_o - An object graph visualizer.
- Procrastinator - A library for running time consuming tasks.
- Prooph Service Bus - Lightweight message bus supporting CQRS and Micro Services
- RMT - A library for versioning and releasing software.
- sabre/vobject - A library for parsing VCard and iCalendar objects.
- Safe - All PHP functions, rewritten to throw exceptions instead of returning false.
- Slimdump - An easy dumper tool for MySQL.
- Spork - A process forking library.
- SuperClosure - A library that allows Closures to be serialized.
- Underscore - A PHP port of the Underscore JS library.
Software for creating a development environment.
Tools to help install and manage PHP on your computer.
Software and tools for creating a sandboxed development environment.
- Ansible - A radically simple orchestration framework.
- Docker - A containerization platform.
- Laravel Homestead - A local development environment for Laravel.
- Laradock - A full PHP development environment based on Docker.
- Puppet - A server automation framework and application.
- Vagrant - A portable development environment utility.
- Vessel - Simple Docker development environments for Laravel.
Alternative PHP virtual machines.
- Hack - A programming language for HHVM.
- HHVM - A Virtual Machine, Runtime and JIT for PHP by Facebook.
- PeachPie - PHP compiler and runtime for .NET and .NET Core.
Text Editors and IDEs
Text Editors and Integrated Development Environments (IDE) with support for PHP.
Web-based applications and tools.
- 3V4L - An online PHP & HHVM shell.
- DBV - A database version control application.
- PHP Queue - An application for managing queueing backends.
- MailCatcher - A web tool for capturing and viewing emails.
- Cachet - The open source status page system.
- phpRedisAdmin - A simple web interface to manage Redis databases.
- phpMyAdmin - A web interface for MySQL/MariaDB.
- Adminer - Database management in a single PHP file.
- Lychee - An easy to use and great looking photo-management-system.
Infrastructure for providing PHP applications and services.
- appserver.io - A multithreaded application server for PHP, written in PHP.
- php-pm - A process manager, supercharger and load balancer for PHP applications.
- RoadRunner - High-performance PHP application server, load-balancer and process manager.
Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge.
Useful PHP-related websites.
Useful websites related to web development.
Fantastic PHP-related books.
Books related to general computing and web development.
Fantastic PHP-related videos.
Podcasts with a focus on PHP topics.
PHP-releated reading materials.
Reading materials related to the PHP internals or performance.
Fantastic PHP-related magazines.
_custom_check_national_code
قطعه کد چک صحت کد ملی در PHP
//function _custom_check_national_code($code)
//{
// if(!preg_match('/^[0-9]{10}$/',$code))
// return false;
// for($i=0;$i<10;$i++)
// if(preg_match('/^'.$i.'{10}$/',$code))
// return false;
// for($i=0,$sum=0;$i<9;$i++)
// $sum+=((10-$i)*intval(substr($code, $i,1)));
// $ret=$sum%11;
// $parity=intval(substr($code, 9,1));
// if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity))
// return true;
// return false;
//}
Forms
GitHub - formr/formr: Create and Validate PHP Forms in Seconds.
PHP Form Builder
- PHP Form Builder - HTML Form Generator with Drag & drop
- drag-n-drop-form-builder
- Json to Form in file: /phpformbuilder/drag-n-drop-form-builder/ajax/get-code.php
- Remove Licence with
- //<script> $('#fg-form').find('div').first().remove(); $('#fg-form').attr('action', 'form2.php');</script>
پسورد
bcrypt یه تابع php برای هش کردن پسورده که php استفاده از این ابع رو به برنامه نویسا توصیه میکنه. من یه مثال ساده از نحوه استفاده این تابع براتون میزنم.
هش کردن پسورد:
<?php
// Usage 1:
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n";
// $2y$10$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// For example:
// $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
// Usage 2:
$options = array('cost' => 11);
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options)."\n";
// $2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq
بررسی پسورد:
<?php
// See the password_hash() example to see where this came from.
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}