Laravl-admin

安装问题:

1.目录权限问题,storage需要写权限

2.修改配置需要先清除bootstrap下的配置缓存

3.在filesystems.php中增加上传路径

// laravel-admin 配置
'admin' => [
    'driver'     => 'local',
    'root'       => public_path('upload'),
    'visibility' => 'public',
    'url' => env('APP_URL').'/upload/',
],

 

Readthedocs

通过github构建网页,一般有github.io  gitbook  reaadthedoc

github.io和Jekyll一起使用,用做产品首页或者博客之类的,模板也非常多。有个缺点就是只能用一个仓库,和官网的定义是: Websites for you and your projects。展示个人项目介绍

gitbook写API文档,书,博客之类的

readthedoc和名字一样,主要用来展示程序的doc。结合Sphinx使用,生成静态页

 

步骤:

安装Py

安装Sphinx

初始化一个sphinx项目

安装主题

修改配置文件,指定主题

编写rst源文件,本地构建生成静态页

github中创建仓库,或在已有项目中增加doc目录

将sphinx中的源代码src下的文件上传仓库,或者其他项目doc中

在readthedoc官网注册账号,关联github账号

导入github中的项目,选择构建,访问即可

 

此后只要修改rst文件,上传即可,readthedoc会在commit中自动触发重新构建新的页面

注意:如果语言选择了中文,则关闭readthedoc设置中的自动生成PDF 和另一文档,因为使用默认的生成器处理中文文档会构建失败

 

 

 

 

 

 

SAP PHP7

PHP连接SAP有两种方式:

  1. 通过通用的webserver的方式,缺点麻烦,每写个接口都要对外发布
  2. 通过rfc方式,无论是SAP还是外部系统都很方便

Continue Reading

Laravel 前端依赖

目前大部分都是前端的JS CSS都是编译后的,即整合+混淆+压缩。Laravel也不例外,在初始化前端时发现使用了VUE周边组件,本能的去掉了,但在编译阶段一直报错,原因:

Laravel使用了自己的一个编译JS组件 laravel-mix

laravel-mix 依赖非常多包,其中包括 vue-loader

vue-loader 依赖 component-compiler-utils 等其他包

 

所以在package中去除了VUE相关的组件,在install时依然会去下载被依赖的组件

缺少这些组件在编译阶段会直接报错

"devDependencies": {
    "axios": "^0.18",一个基于 promise 的 HTTP 库  主要是要重写请求头以支持laravel的CSRF
    "bootstrap": "^4.0.0",  
    "cross-env": "^5.1", 用于package中脚本部分,用跨平台定义变量
    "jquery": "^3.2", bootstrap依赖
    "laravel-mix": "^4.0.7",  laravel自带编译工具
    "lodash": "^4.17.5",  工具类被许多包使用 如laravel-mix sass-loader等等
    "popper.js": "^1.12",  bootstrap4依赖
    "resolve-url-loader": "^2.3.1", 根据原始源文件重写url()语句中的相对路径 配合SASS使用
    "sass": "^1.15.3",
    "sass-loader": "^7.1.0",  加载 SASS / SCSS 文件并将其编译为 CSS
    "vue-template-compiler": "^2.5.21",  被laravel-mix依赖,编译VUE模板用的
},

 

 

 

PHP ??

echo false??2;  //空

echo false?1:2;   // 2



echo true??2;  //1

echo true?1:2; // 1



echo null ?? 2;  // 2

echo null?1:2;   //2



echo 0 ?? 2;  // 0

echo 0?1:2;  // 2



echo 1 ?? 2; // 1

echo 1?1:2;

测试环境:

CentOS Linux release 7.6.1810 (Core)

PHP 7.2.13

CLI

git-upload-pack:命令不存在

解决方式:

先检查服务器是否能使用该命令

检查/etc/passwd git用户是否为 git-shell

git:x:1002:1002::/home/git:/usr/local/git/bin/git-shell

PHP utf-8 转 Unicode

来之网上的一段代码

header("content-type:text/html;charset=UTF-8");

function unicodeDecode($unicode_str){
    $json = '{"str":"'.$unicode_str.'"}';
    $arr = json_decode($json,true);
    if(empty($arr)) return '';
    return $arr['str'];
}
 
$unicode_str = "JHG\u65b024JK\u6d6a\u5fae\u535a";
echo unicodeDecode($unicode_str);

 

 

解决 php7 cli 模式下中文乱码的两中方法

1. 给PHP文件开头加上 exec(‘chcp 936’); 然后把该文件以 ANSI 格式编码

2. 在 php.ini 中设置 default_charset = “utf-8” 改成 gbk 或者 gb2312

 

 

SAP 字符串的字节长度

strlen只能获取字符个数,下面方法可获取字节长度

DATA: l_len TYPE i.
DATA: l_str TYPE string.
l_str = 'a就将(('.
l_len = cl_abap_list_utilities=>dynamic_output_length( l_str ).
WRITE: / l_len."结果:8

 

注意:系统是为Unicode的才行