首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP开发者必备的50个库框架【2019】

如果你需要一些数据填充你的数据库、创建看起来像模像样的XML文档、写入持久数据进行压力测试等等,就是使用Faker的时候。...CakePHP的目标是提供一个结构的框架,以便各种水平的PHP开发者都可以快速开发出鲁棒的web应用,并且不失灵活性。...GitHub Stars: 4k 网址:https://github.com/phpspec/prophecy 38、EmojiOne EmojiOne包含了一组库来帮助用户找到并替换应用或网站的系统...3.5k+ 网址:https://github.com/thephpleague/oauth2-server 42、Countries Coutries是一个PHP开发的数据集,以多种格式提供全球国家数据:JSON...5分钟内,你就可以安装Phinx并创建第一个数据库迁移。Phinx只负责迁移,它不是一个ORM。

5.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

你必须知道的 17 个 Composer 最佳实践(已更新至 22 个)

如果需要解析 YAML 文件,就应该以 "symfony/yaml": "4.0.2" 这样的形式明确依赖项。 即使依赖的库遵循了 语义版本 规范,也会因次版本号和修订号的不同破坏后向兼容性。...Tip 9: 进行版本衍合或合并时不要合并 composer.lock 如果你 composer.json (和 composer.lock)添加了一个新依赖项,并且该分支被合并前主分支添加另一个依赖项...需要运行在应用或者库的包都应该被定义 require (例如: Symfony, Doctrine, Twig, Guzzle, ...)。...Tip 12: composer.json 定义其他类型的依赖 除了定义库作为依赖项外,也以在这儿定义其他东西。...尝试 docker 自己的应用时,或是你的同伴头一次设置应用环境时,这招超级实用。

7.3K20

使用HAProxy、PHP、Redis和MySQL支撑10亿请求每周架构细节

前端网站通过REST API与服务交互,响应则基于JSON格式。为了简单起见,我们选择了SOAP,一个开发者比较无爱的协议,因为谁都不愿意解析一堆的XML。...一年的维护之后,API方法中发生了数不尽的变化。...比如,请求信息调用前会传送给一个外部Web服务;事情发生后从API调用响应。 Error,当错误发生时请求流并未被终止,比如第三方API的错误响应。 Critical,应用程序崩溃的瞬间。...你可能会猜想当Redis资源被一直耗尽时的情景,所有的键都是持久类型,大约占90% keyspace,剩余资源被全部被用于TTL过期缓存。...当下,keyspace已经被分为两个部分:一个是TTL集(缓存),另一个则是用于持久数据。感谢“volatile-lru”最大化内存设置的可行性,最不经常使用缓存键会被移除。

2.8K60

awesome-php

SemaphoreCI - 一个给开源程序和私有项目的持续集成平台 PHPCI - 一个PHP的开源持续集成平台 Sismo - 一个持续的测试服务器库 Jenkins - PHP支持的持续集成平台...一个功能完全的Redis库 codis - Codis 是一个分布式 Redis 解决方案 twemproxy - 是twtter开源的一个redis和memcache代理服务器 pika - Pika是一个可持久的大容量...数字( Numbers ) 处理数字的库 Numbers PHP - 一个处理数字的库 Math - 处理较大数字的库 ByteUnits - 一个二进制和测量系统解析、格式和转换字节单位的库...的轻量级框架 fractal - [最佳实践]数据返回的统一化处理 api-problem - A simple implementation of the api-problem specification...(Internationalisation and Localisation) 用于国际(I18n)和本地(L10n)的库 Aura Intl Cake I18n - 翻译和本地消息 symfony

8.6K90

Laravel如何实现适合Api的异常处理响应格式

ModelNotFoundException 一般模型查找不到抛出,prepareException() 它被转为 SymfonyNotFoundHttpException,默认状态码404;...AuthorizationException Policy 权限未通过时抛出,prepareException() 它被转为 Symfony AccessDeniedHttpException...,默认状态码403; TokenMismatchException CSRF 验证未通过时抛出,prepareException() 它被转为 Symfony HttpException,给定状态码...route('login')); } appExceptionsHandler.php 重写 unauthenticated() 使其返回我们想要的数据格式。...$e- getMessage() : 'Server Error', ]; } 强制 json 响应 代码多次出现了 expectsJson() ,此方法是用来判断返回 json 响应还是普通响应。

3K10

基于 Symfony 组件封装 HTTP 请求响应类

我们知道,对于 Web 框架而言,最基础的功能就是处理请求、返回响应,这一点我们在前面 PHP HTTP 编程已经演示过,不过如果基于 PHP 自带的请求信息获取和响应设置机制,代码是面向过程风格的,...: composer require symfony/http-foundation 下载完成后的扩展包会保存到 vendor/symfony/http-foundation 目录下,另外,也会在 composer.json... Request 子类中新增了两个方法,用于初始 HTTP 请求和获取请求路径,而 Response 和 Session 目前没有定义任何新增方法: <?...extends BaseResponse { } 编写好了上述几个子类后, composer.json 配置需要维护命名空间路径映射的目录: "autoload": { "classmap...最后,兜底逻辑,我们基于 Response 对象设置响应状态码和响应头,对于 Response 类的构造函数,第一个参数是响应实体(默认是空字符串,这里是重定向响应,故而留空),第二个参数是响应状态码

8.6K20

Laravel中正确地返回HTTP状态码方法示例

API 返回状态码是很重要的,因为响应处理程序是工作 API 的响应状态码之上的。 写 API 时其中有一个重要的地方是更好的处理响应状态码。...request()- only('title', 'description')); request()- user()- posts()- save($post); return response()- json...(['post' = $post], 201); } } API 的调用期间 ,如果数据已被创建,那么将会响应 HTTP 201 状态码,但是很多的开发者并不知道 201 状态码,他们更熟悉 200...使用 Symfony Response 类可以解决这个问题 。它包含了所有的 HTTP 状态码,并且使用更简单易懂的命名 。以上的代码可以修改为如下代码: <?...php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Post; use Symfony\Component

94431

Laravel 项目中使用 webpack-encore

webpack-encore 是 Symfony 官方的前端集成构建工具,同样是基于 webpack,但它的 API 设计得更为友好,而且文档更完善,当然更关键的一点是,坑更少啊……从开始读它的文档,倒把手里一个项目从...安装依赖 首先当然是安装依赖 yarn add -D @symfony/webpack-encore 需要注意的是,webpack-encore 没有像 laravel-mix 那样自己内部依赖 vue-tempplate-compiler...Laravel 自带了一个 mix() 函数用于引用 mix 编译的资源,与之类似,syfony 也有这样的函数,而且更为方便。...helper 函数引用资源,你会发现它比 Laravel 自带的 mix() 函数更方便,只需要一个函数,就可以自动引入 vendor.js 和 app.js 了。...的脚本(scripts) 因为 laravel 项目默认 package.json develop 等相关的脚本都是使用 laravel-mix 的,为了方便日常开发,现在要对它们进行一些调整,

2.1K20

【Laravel系列3.1】​一个请求的前世今生

请求,体现在 Laravel 框架的 request ,这个 Request 对象底层是 Symfony 的一个 RequestBag 包,它将贯穿整个框架几乎所有加载的对象,能够被我们的控制器...责任链,一直不停传递的就是这个 Request 这个对象。它是通过依赖注入注入到当前这个路由的回调函数里的。关于依赖注入的问题也是我们后面再深入学习的内容,这里也只是做个了解铺垫。... request ,有对应的 get() 和 post() 方法,同时也存在一个 all() 方法。普通的 all() 方法返回的是一个参数的数组,大家可以直接打印出来看一下。...input() 是非常强大的一个函数,它不仅仅是可以取 get、post 里面的数据,还可以获取 body 中格式json 数据,前提是 header 头中指定请求是 application/json...我们路由中可以直接 return 一个字符串,也可以 return view() 或者 return response->json() ,对应的返回的内容都是一个 Response 对象。

7.4K20

SCTF-2021 部分WriteUp

第35名 SCTF Web ★Loginme 代码审计,伪造X-Real-IP就行了,太简单的代码了没啥必要 ★Upload_it composer.json,引入了两个模块 { "name.../string:操作字符串 参考文档: https://symfony.com/doc/current/components/string.html opis/closure:序列闭包 参考文档: https...://opis.io/closure/3.x/serialize.html 序列闭包,很容易联想到反序列,那么我们就尝试找找有没有能触发反序列的地方吧~ 首先我们index.php可以看到session...>,PHP取元素值的时候会先对元素值进行反序列,那么这里就是我们要找的反序列点了。...因为我省略了'ls /' ) 再把__toString()首行添加return 'xx';(不然待会序列对象会出错) 然后index.php同目录下新建test.php,内容如下: <?

1.8K30

如何使用route-detectWeb应用程序路由中扫描身份认证和授权漏洞

关于route-detect route-detect是一款功能强大的Web应用程序路由安全扫描工具,该工具可以帮助广大研究人员Web应用程序路由中轻松识别和检测身份认证漏洞和授权漏洞。...Top 10 #1 - 对象级别授权中断 2023 OWASP API Top 10 #2 - 身份验证失效 2023 OWASP API Top 10 #5 - 功能级别授权中断 2023 CWE...Python: Django (django, django-rest-framework), Flask (flask), Sanic (sanic) PHP: Laravel (laravel), Symfony...(symfony), CakePHP (cakephp) Ruby: Rails* (rails), Grape (grape) Java: JAX-RS (jax-rs), Spring (spring...子命令可以将semgrep指向正确的Web应用程序规则: $ semgrep --config $(routes which django) path/to/django/code 使用viz子命令可以浏览器可视查看路由信息

10110

除了PHP还应该学什么?

PHP 官方提供的标准库非常强大,各种功能函数都能在官方的标准库中找到,包括MySQL、Memcache、Redis、GD图形库、CURL、XML、JSON等等,免除了开发者到处找库的烦恼。...这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件。一个应用程序可以打成一个 Phar 包,直接放到 PHP-FPM 运行。...密集运算的场景下比 C 、 C++ 相差几十倍甚至上百倍。另外 PHP 不可以直接操作底层,需要依赖扩展库来提供 API 实现。...现在最新版本的Swoole提供了C++扩展模块的支持,封装了Zend API,用C++操作PHP变得很简单,可以用C++实现PHP扩展函数和类。 8....通过 Ajax 请求后台接口返回数据后,更新前端数据自动实现界面渲染。2017 年再不学 Vue 就晚了。

1.3K20
领券