PHP 函数的 JavaScript 实现
module.exports = function array_sum (array) { // eslint-disable-line camelcase // discuss at: http://locutus.io/php/array_sum/ // original by: Kevin van Zonneveld (http://kvz.io) // bugfixed by: Nate // bugfixed by: Gilbert // improved by: David Pilia (http://www.beteck.it/) // improved by: Brett Zamir (http://brett-zamir.me) // example 1: array_sum([4, 9, 182.6]) // returns 1: 195.6 // example 2: var $total = [] // example 2: var $index = 0.1 // example 2: for (var $y = 0; $y < 12; $y++){ $total[$y] = $y + $index } // example 2: array_sum($total) // returns 2: 67.2 var key var sum = 0 // input sanitation if (typeof array !== "object") { return null } for (key in array) { if (!isNaN(parseFloat(array[key]))) { sum += parseFloat(array[key]) } } return sum }Underscore.js 的 PHP 版
function __($item=null) { $__ = new __; if(func_num_args() > 0) $__->_wrapped = $item; return $__; }自动生成 gitignore 文件
https://www.gitignore.io/api/laravel # Created by https://www.gitignore.io/api/laravel ### Laravel ### vendor/ node_modules/ npm-debug.log # Laravel 4 specific bootstrap/compiled.php app/storage/ # Laravel 5 & Lumen specific public/storage public/hot storage/*.key .env.*.php .env.php .env Homestead.yaml Homestead.json # Rocketeer PHP task runner and deployment package. https://github.com/rocketeers/rocketeer .rocketeer/ # End of https://www.gitignore.io/api/laravel爬虫组件
composer global require slince/spider *@dev use SlinceSpiderSpider; $spider = new Spider(); $spider->run("http://www.baidu.com");简单、 灵活、强大的 PHP 采集工具
use QLQueryList; //采集某页面所有的图片 $data = QueryList::Query("http://cms.querylist.cc/bizhi/453.html",array( //采集规则库 //"规则名" => array("jQuery选择器","要采集的属性"), "image" => array("img","src") ))->data; //打印结果 print_r($data); //采集某页面所有的超链接 //可以先手动获取要采集的页面源码 $html = file_get_contents("http://cms.querylist.cc/google/list_1.html"); //然后可以把页面源码或者HTML片段传给QueryList $data = QueryList::Query($html,array( "link" => array("a","href") ))->data; //打印结果 print_r($data); 在线测试采集并查看采集结果 http://querylist.cc/page-Querytest.html在线测试代码
$array=[ ["name"=>"张三","age"=>"23"], ["name"=>"李四","age"=>"64"], ["name"=>"王五","age"=>"55"], ["name"=>"赵六","age"=>"66"], ["name"=>"孙七","age"=>"17"], ]; $sort = array( "direction" => "SORT_ASC", //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序 "field" => "age", //排序字段 ); $arrSort = array(); foreach($array as $uniqid => $row){ foreach($row AS $key=>$value){ $arrSort[$key][$uniqid] = $value; } } array_multisort($arrSort[$sort["field"]], constant($sort["direction"]), $array); print_r($array);中文转拼音工具
//https://hellogithub.com/category/PHP%20%E9%A1%B9%E7%9B%AE/ use OvertruePinyinPinyin; $pinyin = new Pinyin(); $pinyin->convert("带着希望去旅行,比到达终点更美好"); // ["dai", "zhe", "xi", "wang", "qu", "lv", "xing", "bi", "dao", "da", "zhong", "dian", "geng", "mei", "hao"] $pinyin->convert("带着希望去旅行,比到达终点更美好", PINYIN_UNICODE); // ["dài","zhe","xī","wàng","qù","lǚ","xíng","bǐ","dào","dá","zhōng","diǎn","gèng","měi","hǎo"] $pinyin->convert("带着希望去旅行,比到达终点更美好", PINYIN_ASCII); //["dai4","zhe","xi1","wang4","qu4","lv3","xing2","bi3","dao4","da2","zhong1","dian3","geng4","mei3","hao3"]美化 curl
$ git clone https://github.com/talhasch/php-httpstat $ cd php-httpstat $ cp httpstat.php /usr/local/bin/httpstat $ chmod +x /usr/local/bin/httpstat $ httpstat http://www.google.com在线正则表达式测试 在线测试 redis 在线练习 git 检测 PHP 应用的代码复杂度
composer global require "phploc/phploc=*" $ phploc src phploc 4.0.0 by Sebastian Bergmann. Directories 3 Files 10 Size Lines of Code (LOC) 1882 Comment Lines of Code (CLOC) 255 (13.55%) Non-Comment Lines of Code (NCLOC) 1627 (86.45%) Logical Lines of Code (LLOC) 377 (20.03%) Classes 351 (93.10%) Average Class Length 35 Minimum Class Length 0 Maximum Class Length 172 Average Method Length 2 Minimum Method Length 1 Maximum Method Length 117 Functions 0 (0.00%) Average Function Length 0 Not in classes or functions 26 (6.90%)php http 请求工具
$response = Zttp::withHeaders(["Fancy" => "Pants"])->post($url, [ "foo" => "bar", "baz" => "qux", ]); $response->json(); // => [ // "whatever" => "was returned", // ];任务管理
composer global require consolidation/robo class RoboFile { /** * Each public method is a command in runner * parameters are arguments in console * * use "./robo test" to run tests on a project */ function test($pathToSelenium = "~/selenium.jar") { // starts PHP server in background $this->taskPhpServer(8000) ->background() ->dir("web") ->run(); // launches Selenium server $this->taskExec("java -jar ".$pathToSelenium) ->background() ->run(); // runs PHPUnit tests $this->taskPHPUnit() ->run(); }phpstorm 技巧 php ai
composer require php-ai/php-ml require_once "vendor/autoload.php"; use PhpmlClassificationKNearestNeighbors; $samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]]; $labels = ["a", "a", "a", "b", "b", "b"]; $classifier = new KNearestNeighbors(); $classifier->train($samples, $labels); echo $classifier->predict([3, 2]); // return "b"PHP driver for FFMpeg
$ffmpeg = FFMpegFFMpeg::create(); $video = $ffmpeg->open("video.mpg"); $video ->filters() ->resize(new FFMpegCoordinateDimension(320, 240)) ->synchronize(); $video ->frame(FFMpegCoordinateTimeCode::fromSeconds(10)) ->save("frame.jpg"); $video ->save(new FFMpegFormatVideoX264(), "export-x264.mp4") ->save(new FFMpegFormatVideoWMV(), "export-wmv.wmv") ->save(new FFMpegFormatVideoWebM(), "export-webm.webm");编码格式化工具
//http://cs.sensiolabs.org/ composer global require fabpot/php-cs-fixer //wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer sudo chmod a+x php-cs-fixer sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer # 格式化目录 如果是当前目录的话可以省略目录 php-cs-fixer fix /path/to/dir # 格式化文件 php-cs-fixer.phar fix /path/to/file //cat foo.php | php-cs-fixer fix --diff - #https://housanpai.com/articles/10php medoo
composer require catfan/Medoo // 如果你通过 composer 安装, 只需在项目的开始部分加上此代码即可自动加载。 require "vendor/autoload.php"; // 或者你是下载 medoo.php 并放置到项目目录中,require 即可。 require "medoo.php"; $database = new medoo([ // 必须的 "database_type" => "mysql", "database_name" => "name", "server" => "localhost", "username" => "your_username", "password" => "your_password", "charset" => "utf8", // [可选] "port" => 3306, // [可选] 表名前缀 "prefix" => "PREFIX_", // [可选] 连接的驱动选项,请阅读 http://www.php.net/manual/en/pdo.setattribute.php "option" => [ PDO::ATTR_CASE => PDO::CASE_NATURAL ] ]); $database->insert("account", [ "user_name" => "foo", "email" => "foo@bar.com" ]);在线文档分享工具
composer create-project showdoc/showdoc
php的ngrok客户端 比对两个数据库的表结构,并自动修正git clone https://github.com/exinnet/mysqldiff.git cd mysqldiff vi config.php # config mysql connection info php mysqldiff.phpcron
file_get_contents("https://hchk.io/e9ad1415-566c-40c9-9c97-a298d727ab68");
语法检测composer require overtrue/phplint -vvv use OvertruePHPLintLinter; $path = __DIR__ ."/app"; $exclude = ["vendor"]; $extensions = ["php"]; $linter = new Linter($path, $exclude, $extensions); // get errors $errors = $linter->lint(); // // [ // "/path/to/foo.php" => [ // "error" => "unexpected "$key" (T_VARIABLE)", // "line" => 168, // "file" => "/path/to/foo.php", // ], // "/path/to/bar.php" => [ // "error" => "unexpected "class" (T_CLASS), expecting "," or ";"", // "line" => 28, // "file" => "/path/to/bar.php", // ], // ]生成Material Design风格头像
// composer require(__DIR__ . "/vendor/autoload.php"); use MdMDAvatars; $Avatar = new MDAvatars("X", 512); $Avatar->Output2Browser(); $Avatar->Save("./avatars/Avatar256.png", 256);使用screw plus来保护php代码安全 一个最精简的php多进程控制库
$sf = new SimpleFork(2, "my-process"); // 2代表子进程数, "my-process"是进程的名字 $sf->master(function ($sf) { // 主进程的方法请包裹在master里 while ($sf->loop(100)) { // 100为等待的毫秒数 $sf->submit("http://www.google.cn/", function ($data) { // 使用submit方法将其提交到一个空闲的进程,如果没有空闲的,系统会自动等待 echo $data; }); } })->slave(function ($url, $sf) { $sf->log("fetch %s", $url); // 使用内置的log方法,子进程的log也会被打印到主进程里 return http_request($url); // 直接返回数据,主进程将在回调中收到 });A PHP MySQL PDO class similar to the the Python MySQLdb
$DB->query("SELECT * FROM fruit WHERE name=".$_GET["name"]); $DB->query("SELECT * FROM fruit WHERE name=? and color=?",array("apple","red")); $DB->query("SELECT * FROM fruit WHERE name=:name and color=:color",array("name"=>"apple","color"=>"red")); $DB->query("SELECT * FROM fruit WHERE name IN (?)",array("apple","banana"));图片处理
$ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_URL, "https://avatars0.githubusercontent.com/u/5785188?v=3&s=460"); $response = curl_exec($ch); curl_close($ch); $UploadAvatar = new ImageResize("String", $response); $Result = $UploadAvatar->Resize(256, "upload/avatar/large.png", 80);Linux 图形化性能监视器 编写PHP代码片段终极机器人 PHP 代码转 Python
def substr (self, s, start, length = None): """Returns the portion of string specified by the start and length parameters. """ if len(s) >= start: if start > 0: return False else: return s[start:] if not length: return s[start:] elif length > 0: return s[start:start + length] else: return s[start:length]php部署工具
curl -LO https://deployer.org/deployer.phar mv deployer.phar /usr/local/bin/dep chmod +x /usr/local/bin/dep composer require deployer/deployer
公众号:苏生不惑
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/23273.html
摘要:具体来说,包管理器就是可以通过命令行,帮助你把外部库和插件放到你的项目里面并在之后进行版本升级,这样就不用手工复制和更新库。现在有的包管理器主要是和。 一、基础 1、学习HTML基础 HTML给你的网页赋予了结构。它就像是人的骨架那样让你保持站立。首先你需要去学习语法以及它必须提供的一切。你的学习应该聚焦在下面这些东西上: 学习HTML基础,了解如何编写语义HTML 理解如何把网页分...
摘要:最近这六年来,一直使用开源系统来做项目,如等,虽然也有接触过主流的框架,不过并不多。互联网快速迭代我是互联网比较早的用户了,我学的时候还没有所谓的框架,所以那时候开发出一个好用的框架无疑是提高生产力最佳的方案。 最近这六年来,一直使用PHP开源系统来做项目,如drupal, joomla, wordpress, magento等,虽然也有接触过主流的框架,不过并不多。也许我会有一些偏见...
摘要:今日励志语录有志者自有千计万计,无志者只感千难万难。三动画技术越来越不陌生,使用门槛也渐渐降低,而且动画还可以使用控制。扫一扫查看效果打开微扫一扫关注早读君,每天早晨为你推送前端知识,度过挤地铁坐公交的时光 今日励志语录有志者自有千计万计,无志者只感千难万难。 文章原出处:腾讯ISUX 开始阅读之前你可以先扫一扫体验demoshowImg(https://segmentfault.co...
阅读 2422·2021-10-09 09:59
阅读 2177·2021-09-23 11:30
阅读 2590·2019-08-30 15:56
阅读 1145·2019-08-30 14:00
阅读 2938·2019-08-29 12:37
阅读 1252·2019-08-28 18:16
阅读 1655·2019-08-27 10:56
阅读 1021·2019-08-26 17:23