2017年6月

Vue.component(组件名, {
    template: 模板ID, // 使用script与template标签均可实现
    props: [传递数据参数],
    methods: {
        方法名: function () {}
    }
});

单文件可以参考上篇

我是使用import导入没有问题,用webpack生成的时候,发现用Vue.component()注册会报错,检查发现解决方法,删除new里的components
?

import xyz from './components/head.vue';

使用全局注册组件时,须将new中的components删除

Vue.component('xyz ', require('./components/head.vue'));

new Vue({
    el: '#app'
    //components: { xyz }
})

近期在学习laravel的使用

以前听说过,当时自己不知道为什么对thinkphp着魔,上手停不下,中文文档写的很好让国人理解,我也就是这其中的国人,那个时候thinkphp5还在测试阶段,有点小关注,发现与原来的使用差距有点大,没有继续看了(因为我懒吧?)

使用thinkphp之前,还有段时间学习过CodeIgniter俗称CI,是真的很小巧,小巧到很尴尬的境地,具体

当然,由于它的小巧再实现一些微型项目时,用用还是挺方便的,使用要求也没什么,基本就是上传即可开始使用。

因为我懒,于是就有放弃CI使用thinkphp的历史痕迹了

最近接触了laravel大家说的优雅是有其它的道理的

  1. 使用composer来管理依赖,抛弃手动require
  2. 结合php命令行操作
  3. 清晰有条理的路由管理
  4. 目录命名用意一目了然
  5. Eloquent ORM
  6. 查询构造器
  7. 结合bootstrap做成小demo非常快速(5.4修改源码可以使用bootstrap4相关)
  8. 目前我使用后的特性,还有许多我还没接触到的特性...

就在这些学习的过程中,感觉自己是可以有一定能力开发的

但是!!!深刻的感受到自己的基础知识脆弱不堪,理论体系非常不完善,缺口巨大

如:自己以前文章的内容有一长串字符串的出现,由于其中夹杂着中英文,做出的截取不能使用substr(),而要使用 mb_substr(),但是这里的bug是中文是3个字符(使用的utf-8编码),英文只占1个字符,对中英文混合输入的bug必然是会出现乱码的。

"这是一段abc字符串123大家壕"

使用 strlen() 与 mb_strlen() 结果

echo strlen("这是一段abc字符串123大家壕");
// 输出  36
echo mb_strlen("这是一段abc字符串123大家壕");
// 输出  16

使用 mb_substr() 截取前6个字符

echo mb_substr("这是一段abc字符串123大家壕", 0, 6);

当然你会说,这个没有问题好嘛,substr() 就是把每个字*3了

是的,没有错,但是这一切的前提下,全部是utf-8的编码集

echo mb_substr("这是一段abc字符串123大家壕", 0, 6, "gbk");
// 这是一��

这个小例子的实现让我简单的思考了一下接下来的学习进展,放慢脚步,深入的学习语言现有所带来的特性,充分利用自带功能,何必在自造轮子(我想我造出来的轮子应该是没有自带的好用的)

潜心,静气,思考

--------------------- 分割线 ---------------------------

另外 mb_strcut() 对比 mb_substr() 还是感觉好用点,精确到字节操作

使用laravel5.4提交表单使用的如果是post方法会产生 TokenMismatch 错误

解决方法

在提交表单中添加一个隐藏域,name为_token,值为{{ csrf_token() }}

<input type="hidden" name="_token" value="{{ csrf_token() }}"/>

看到这种提示首先去检查自己的配置信息是否填写正确

step 1

检查根目录下的 .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root

填写完毕.


stap 2

检查 config 目录下的 database.php

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'laravel'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', 'root'),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
]

填写上数据库名,用户名,密码


关闭服务,再开启
不成功的话,你需要把配置的缓存清理掉,再开启服务

php artisan config:clear
php artisan serve

学习的过程中,发现ORM的存进数据库的时间戳,再取出时,是本地时间相差了少了八个小时

在 getDateFormat() 函数中,设置 date_default_timezone_set('PRC'); 与 ini_set('date.timezone', 'Asia/Shanghai'); 均无效

查看手册知晓,在 config/app.php 里的 'timezone' 参数

'timezone' => 'PRC' // 或者 Asia/Shanghai ,时区设置成我大天朝就好了

composer是php的依赖管理工具,与前端的npm包管理差不多

今天就是来 在linux上如何安装composer(windows的一路下一步,没毛病)

setp0

检查一下php版本号,可以显示版本号才能继续下面的操作

php -v

setp1

首先准备好composer-setup.php

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

setp2

在 shell 界面输入(如要全局安装请加上 --install-dir=bin --filename=composer)全局安装可以忽略后面所有操作

php composer-setup.php

setp3

这步操作对普通用户使用都有效,当然root也可以

mv composer.phar /usr/local/bin/composer

setp4

这个时候就可以查看你的composer版本号了

composer -v

撸了台hostker的,装的centos7.3,系统装完了一进去用netstat -antp喵一下网络连接的

发现netstat输出-bash: netstat: command not found

查了一下,发现是RHEL7准备废弃这几条命令了,废弃就废弃吧,我看看替换的新命令是咋样的

ip,ss

这又是要记参数的节奏呀!

好吧,还算简洁的,早晚都会用的,现在先熟悉用了。


ifconfig替换

ip addr

传输状态(-s 为详细显示)

ip link

netstat替换

ss

netstat -ant(-antp的输出个人看的不友好)

ss -ant

netstat -anu

ss -anu

traceroute/traceroute6替换

tracepath

route替换(-6 为IPv6)

ip route

ifconfig eth0 up/down替换

ip l set eth0 up/down