0%

服务端

Notify.php

1
2
3
4
5
6
//获取通知消息
public function getNotifyCount()
{
$msg = db('message_logs')->where('isscan',0)->count();
RestfulTools::restData($msg); //这里是封装好的json_encode方法
}

前端

notify.js

1
2
3
<span class="am-icon-envelope-o"></span> 消息 <span class="am-badge am-badge-warning" id="msgCount"> 
{$msgCount} //这是是通过tp的 assign方法分配过来的变量,作为初始值
</span>
阅读全文 »

2022年,看好好多人在写总结、感悟,我也趁热打铁记录下自己的感想。可能大部分都会讲到疫情,当然我也会,这一年的不平凡确实刻骨铭心,可能在很多年后回想起这一年发生的事都还会记忆犹新,在此也算是记录下历程,以后再来回味。

持续不断的疫情

2022年是第三年的疫情,上半年来讲相对于其他时间都还比较轻松一些(重庆区域),大家该忙的忙,该玩的玩,也没太在意这事,直到11月份来临,大面积疫情的爆发,重庆市区开始了长达7天的静默,不能上班,不能上学,每天还要做核酸,时刻还得观察着健康码的情况;那段时间看到最为疯狂的就是大家抢菜,超市完全是一哄而空,所有人都在为抗争疫情做准备,也可以说都是在苟且。

再往后面到12月初,全国都大面积爆发,我们连续在家办公了2周多,政府开始出台解封政策,全面开始新型对抗疫情:所有场所不再看健康码、不再考体温、不再封闭区域,那段时间的人们可以说是诚惶诚恐;有的人提倡解封,天天关在家赚不了钱还不如感染了算了;还有的人希望不解封,毕竟目前都还不知道疫情的危害性和后遗症,不知道放开后是什么样的结果;

阅读全文 »

ElasticSearch安装

Docker镜像拉取

1
2
3
docker search elasticsearch

docker pull elasticsearch:7.7.0

本地创建es挂载目录

1
2
3
4
5
mkdir /data/elasticsearch/data

mkdir /data/elasticsearch/plugins

mkdir /data/elasticsearch/config
阅读全文 »

设计模式在php开发中用途还是非常多,能够使用设计模式并准确选择设计模式将事半功倍的提高开发效率,而且也能提高代码可读性和提升代码解耦度,非常方便以后我们在迭代功能的时候的扩展与重构,不至于看到自己以前写的代码无所适从。

1、单例模式

单例模式:即一个类只被实例化一次,当其他人对其再次实例化时,返回第一次实例化的对象,可以避免大量的new
操作,减少资源的消耗,典型应用于数据库类的实例化。
特点:三私一公 (私有静态属性instance,私有构造方法,私有克隆方法,公有化静态方法getInstance)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php 

class Singleton
{
//私有静态属性
private static $instance;
//私有构造方法,禁止使用new创建对象
private function __construct(){}
//该实例的出口
public static function getInstance(){
if (!isset(self::$instance)) {
self::$instance = new self;
}
return self::$instance;
}
//将克隆方法设为私有,禁止克隆对象
private function __clone(){}

public function say()
{
echo "这是用单例模式创建对象实例 <br>";
}
public function operation()
{
echo "这里可以添加其他方法和操作 <br>";
}
}

// $shiyanlou = new Singleton();
$shiyanlou = Singleton::getInstance();
$shiyanlou->say();
$shiyanlou->operation();

$newShiyanlou = Singleton::getInstance();
var_dump($shiyanlou === $newShiyanlou);
阅读全文 »

安装篇

下载与配置

官网下载地址:https://www.elastic.co/cn/downloads/

找到自己系统对应的版本,本文以Linux系统为例,只阐述单机版安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 添加新用户
useradd els

# 创建一个soft目录,存放下载的软件
mkdir /soft

# 进入,然后通过xftp工具,将刚刚下载的文件拖动到该目录下
cd /soft
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.1-linux-x86_64.tar.gz

# 解压缩
tar -zxvf elasticsearch-7.9.1-linux-x86_64.tar.gz

#重命名
mv elasticsearch-7.9.1/ elsearch
阅读全文 »

正常操作

1、下载composer

1
curl -sS https://getcomposer.org/installer | php

2、将composer.phar文件移动到bin目录以便全局使用composer命令 (重点)

1
mv composer.phar /usr/local/php/bin/composer    // 一定要找到对应的php版本的执行目录bin下面

3、切换国内源

1
composer config -g repo.packagist composer https://packagist.phpcomposer.com
阅读全文 »

本文章以php7.1.31和php7.3.9版本为例进行安装

php7.1.31安装

1.安装依赖包

1
yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

2.下载安装包

1
2
cd /usr/local
wget https://www.php.net/distributions/php-7.1.31.tar.gz

3.解压

1
2
tar -zxvf php-7.1.31.tar.gz
cd php-7.1.31
阅读全文 »

Templates

Slim does not have a view layer like traditional MVC frameworks. Instead, Slim’s “view” is the HTTP response. Each Slim application route is responsible for preparing and returning an appropriate PSR-7 response object.

Slim’s “view” is the HTTP response.

That being said, the Slim project provides the Twig-View and PHP-View components to help you render templates to a PSR7 Response object.

The slim/twig-view component

The Twig-View PHP component helps you render Twig templates in your application. This component is available on Packagist, and it’s easy to install with Composer like this:

阅读全文 »