workofstan / backyard
有用的函数和类的库
Requires
- php: ^5.3 || ^7.0
- ext-curl: *
- seablast/logger: ^1.0
Requires (Dev)
- phpunit/phpunit: ^4 || ^5
- webmozart/assert: ^1.9.1
This package is auto-updated.
Last update: 2024-09-03 20:42:23 UTC
README
有用函数集合
需求
- PHP 5.3.0 或更高版本(即不使用 [] 而使用 array() 作为短语法,因为这种短语法只能从 PHP 5.4 开始使用)
安装
您可以使用 Composer 或简单地 下载发行版
Composer
首选方法是通过 composer。如果您尚未安装 composer,请按照 安装说明 进行操作。
一旦安装了 composer,请在您的项目根目录中执行以下命令以安装此库
composer require workofstan/backyard:^3.3.1
最后,务必包含自动加载器
require_once '/path/to/your-project/vendor/autoload.php';
下载发行版
如果您讨厌使用 composer,可以下载整个包。在 发行版 页面上列出了所有稳定版本。下载任何名为 backyard/archive/[TAG].zip
的文件,以包含此库及其依赖项的包。
解压缩您下载的 ZIP 文件,并在您的项目中包含自动加载器
require_once '/path/to/backyard/vendor/autoload.php';
部署
包含自动加载器后,您可以使用默认配置创建 backyard
对象
$backyard = new \WorkOfStan\Backyard\Backyard();
或者,您可以使用以下选项进行配置
$backyard = new \WorkOfStan\Backyard\Backyard( array(//default values //logger relevant that SHOULD be configured 'logging_level' => 5, //log up to the level set here, default=5 = debug//logovat az do urovne zde uvedene: 0=unknown/default_call 1=fatal 2=error 3=warning 4=info 5=debug/default_setting 6=speed //aby se zalogovala alespoň missing db musí být logování nejníže defaultně na 1 //1 as default for writing the missing db at least to the standard ErrorLog 'mail_for_admin_enabled' => false, //fatal error may just be written in log //$backyardMailForAdminEnabled = "rejthar@gods.cz";//on production, it is however recommended to set an e-mail, where to announce fatal errors 'error_log_message_type' => 0, //parameter message_type http://cz2.php.net/manual/en/function.error-log.php for my_error_log; default is 0, i.e. to send message to PHP's system logger; recommended is however 3, i.e. append to the file destination set either in field $this->BackyardConf['logging_file or in table system 'logging_file' => '', //soubor, do kterého má my_error_log() zapisovat //logger relevant other 'logging_level_name' => array(0 => 'unknown', 1 => 'fatal', 'error', 'warning', 'info', 'debug', 'speed'), 'logging_level_page_speed' => 5, //úroveň logování, do které má být zapisována rychlost vygenerování stránky 'die_graciously_verbose' => true, //show details by die_graciously() on screen (it is always in the error_log); on production it is recomended to be set to to false due security 'log_monthly_rotation' => true, //true, pokud má být přípona .log.Y-m.log (výhodou je měsíční rotace); false, pokud má být jen .log (výhodou je sekvenční zápis chyb přes my_error_log a jiných PHP chyb) 'log_profiling_step' => false, //110812, my_error_log neprofiluje rychlost //$PROFILING_STEP = 0.008;//110812, my_error_log profiluje čas mezi dvěma měřenými body vyšší než udaná hodnota sec //geo relevant 'geo_rough_distance_limit' => 1, //float //to quickly get rid off too distant POIs; 1 ~ 100km 'geo_maximum_meters_from_poi' => 2500, //float //distance considered to be overlapping with the device position // 2500 m is considered exact location due to mobile phone GPS caching 'geo_poi_list_table_name' => 'poi_list', //string //name of table with POI coordinates ) );
注意
注意:BackyardMysqli 不创建 Backyard->Mysqli 对象(例如 Backyard->Json),因为它不是由 LIB 自身使用的,更重要的是,LIB 的用户可以创建任意数量的这些对象。使用示例
$backyard = new WorkOfStan\Backyard\Backyard(array('logging_level' => 3)); $logger = $backyard->BackyardError; $dbLink = new WorkOfStan\Backyard\BackyardMysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE, $logger);
class BackyardBriefApiClient
一个非常简单的 JSON RESTful API 客户端。它只发送 JSON 并返回一些可选的装饰器和错误记录。
sendJsonLoad
- 发送 JSON 并返回带有第二个可选参数(HTTP 请求动词GET
,PUT
,DELETE
)的任何返回值getJsonArray
- 发送 JSON 并返回从响应 JSON 解码的数组getArrayArray
- 将数组编码为 JSON 并返回从响应 JSON 解码的数组
关于以前版本
它们的代码已被禁用,因此是安全的。
backyard 1 使用方法
此数组必须在调用 backyard 1 之前由应用程序创建
$backyardDatabase = array( 'dbhost' => 'localhost', 'dbuser' => 'user', 'dbpass' => '', 'dbname' => 'default', );
调用 backyard 1
require_once __DIR__ . '/lib/backyard/deploy/functions.php';
backyard 2 使用方法
数组 $backyardDatabase(见上方)只有在存在包含 backyard 系统信息的 `system` 表(或 $backyardDatabase['system_table_name'] 中指定的不同名称)的表的情况下才应创建。
用法
require_once __DIR__ . '/lib/backyard/src/backyard_system.php';
需要基本 LIB 库。所有其他 LIB 组件都需要通过
require_once (__BACKYARDROOT__."/backyard_XXX.php");
推荐
要在日志记录方面保持控制,在要求 LIB 之前设置以下内容
$backyardConf['logging_level'] = 3; //so that only fatal, error, warning are logged $backyardConf['error_log_message_type'] = 3;//so that logging does not go to PHP system logger but to the monthly rotated file specified on the next line $backyardConf['logging_file'] = '/var/www/www.alfa.gods.cz/logs/error_php.log'; $backyardConf['mail_for_admin_enabled'] = 'your@e-mail.address'; //fatal error are announced to this e-mail
一旦您的应用程序准备就绪,在要求 LIB 之前设置以下内容
$backyardConf['die_graciously_verbose'] = false; //so that description contained within die_graciously() is not revealed on screen $backyardConf['error_hacked'] = false; //so that *ERROR_HACK* GET parameter is ignored (and 3rd party can't *debug* your application
src/emulator.php get_data 以定义的方式(@todo - 更好地描述)
src/emulate.php 是 emulator.php 的包装器
src/backyard_geo.php 中描述的地理定位函数。地理相关表的预期结构在 sql/poi.sql 中。
命名约定(2013-05-04)
- 命名约定
- 我尝试产生长、自解释的方法名称。
- 注释格式化为 Phpdoc,JSDoc
- 我更喜欢标记变量类型。我写的是 rather entityA(实体数组)而不是简单的实体。例如,对于歌曲对象的实例,我命名变量为 songO。
- 一些示例
- 变量、方法、函数、elementId – camelCase
- 类名 – UpperCamelCase
- URL – 蛇形文本
- 文件, 数据库列, 数据库表 – 下划线文本
- 常量 – 大写字母
- 注释
- 注释的主要语言是英语。
- 已弃用或过时的代码块使用字母“x”作为前缀进行注释。我可能会像下面这样添加使代码过时的原因
- //X他一开始就有ID: $_SESSION["id"] = User::$himself->getId();