Time of Update: 2017-12-20
這次給大家帶來的是用PHP來開發聊天室,雖然是一個很簡單的聊天室但是也很有參考價值,需要的朋友可以好好研究一下。首先,我想說下寫代碼的一些習慣,第一,任何可配置的參數或變數都要寫到一個config檔案中。第二,代碼中一定要有日誌記錄和完善的報錯並記錄報錯。言歸正傳,swoole應該是每個phper必須要瞭解的,它號稱重新定義了php。此聊天室利用了swoole高並發並且非同步非阻塞的特點提高了程式的效能。首先,定義一個 swoole_lock 和 swoole_websocket_server
Time of Update: 2017-12-13
本文主要給大家介紹關於laravel技巧之查詢構造器Query Builder疊加鏈式調用的相關資料,文中通過範例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,希望能協助到大家。查詢構造器簡介Laravel查詢構造器(query
Time of Update: 2017-12-11
本文主要介紹了PHP實現的簡單四則運算計算機功能,結合執行個體形式分析了PHP基於堆棧實現的運算式運算功能,需要的朋友可以參考下,希望能協助到大家。這裡可以使用棧的結構,由於php的數組“天然”就有棧的特性,這裡直接就利用了數組。當然可以使用棧結構寫,道理一樣的。前輩(波蘭一位科學家)在計算帶有括弧的四則運算式,利用逆波蘭演算法(尾碼表達法)。簡直神了!!其實代碼code並不難,難的是演算法的指導,要先理解演算法,才能編碼。<?php$num_arr = array();// 聲明數字棧$
Time of Update: 2017-12-11
雖然現在各種程式語言都有其各自強大的排序庫函數,但是這些底層實現也都是利用這些基礎或進階的排序演算法。理解這些複雜的排序演算法還是很有意思的,本文主要介紹了php實現希爾排序演算法的方法,簡單說明了希爾排序的原理,並結合執行個體形式分析了php實現希爾排序的具體操作技巧,需要的朋友可以參考下,希望能協助到大家。希爾排序(shell
Time of Update: 2017-12-20
最近在開發公眾號的時候發現了一個問題,那就是PHP7.1在mcrypt中已經是被棄用的了,那麼只能想辦法解決這個問題,今天就給大家說說我如何解決這個問題以及解決思路。php7.1發布後新特性吸引了不少PHPer,大家都在討論新特性帶來的好處與便利。但是從php7.0 升級到 php7.1
Time of Update: 2017-12-09
本文主要介紹了PHP+JS實現大量刪除資料功能,結合執行個體形式分析了php結合js控制頁面元素的選中與提交,以及php操作mysql實現大量刪除功能的相關實現技巧,末尾還附帶了一個php資料庫操作類,需要的朋友可以參考下,希望能協助到大家。本文執行個體講述了PHP+JS實現大量刪除資料功能。分享給大家供大家參考,具體如下:表單<form id="form2" name="form2" method="post" action=&
Time of Update: 2017-12-09
在Regex中,可以使用“(”和“)”將模式中的子字串括起來,以形成一個子模式。將子模式視為一個整體時,那麼它就相當於一個單個字元。下面我們就來詳細瞭解下子模式首先,我們先看一段PHP代碼:<?php $time = date ("Y-m-d H:i:s"); $pattern = "/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/i"; if(preg_match($pattern,$time,$arr)){
Time of Update: 2017-12-09
Regex,一個十分古老而又強大的文本處理工具,僅僅用一段非常簡短的運算式語句,便能夠快速實現一個非常複雜的商務邏輯。知道這20個Regex,能讓你少寫1000行代碼,本文就和大家分享可以少寫1000行代碼的Regex方法,希望能協助到大家。熟練地掌握Regex的話,能夠使你的開發效率得到極大的提升。Regex經常被用於欄位或任一字元串的校正,如下面這段校正基本日期格式的JavaScript代碼:var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2
Time of Update: 2017-12-09
當一個序列中只含有指向它的後繼結點的連結時,就稱該鏈表為單鏈表。本文主要介紹了PHP實現單鏈表翻轉操作,結合執行個體形式分析了php單鏈表的定義、遍曆、遞迴、翻轉等相關操作技巧,需要的朋友可以參考下,希望能協助到大家。這裡給出了一個單鏈表的定義及翻轉操作方法:<?php/** * @file reverseLink.php * @author showersun * @date 2016/03/01 10:33:25 **/class Node{ private $value;
Time of Update: 2017-12-09
本文主要介紹PHP實現合并兩個有序數組的方法,結合執行個體形式分析了php針對數組的合并、遍曆、排序、去重等常見操作技巧,需要的朋友可以參考下,希望能協助到大家。$arr1 = array(1,2,3,4,5,6,7,8);$arr2 = array(3,4,5,7,9,10);//方法1function mergeOrderly1($arr1,$arr2){ $i=0;$j=0; $int = array(); while($i<count($arr1) &&
Time of Update: 2017-12-08
本文我們和大家分享php
Time of Update: 2017-12-20
之前看到過倆個很有意思的命令script和srciptreplay,可以把終端的會話記錄到一個檔案裡,今天就給大家做一下有趣並有意義的操作。一、實現代碼檔案:Record.sh#! /bin/bash# Filename:Record.sh read -p "Please input the sesson filename you want to creat: " filename;
Time of Update: 2017-12-07
file_put_contents() 函數把一個字串寫入檔案中。最近發現file_put_contents函數有一直沒注意到的問題,所以下面這篇文章主要給大家介紹了關於PHP中危險的file_put_contents函數的相關資料,需要的朋友可以參考借鑒,下面來一起看吧。來看下file_put_contents函數第二個參數data的官網定義:data要寫入的資料。類型可以是 string,array 或者是 stream 資源(如上面所說的那樣)。 如果 data 指定為 stream
Time of Update: 2017-12-20
本文要給大家介紹vue的樣式切換一級vue的動態樣式的使用教程,下面給大家帶來幾個小案列,需要的朋友可以借鑒研究一下。既然我們選擇了vue,那麼在做東西時就不要想著去操作dom,所有的都交給vue來解決。下面來說一個很簡單但是很常用的效果,可能人人都會用到這樣的需求導覽列的樣式切換功能,如果我們使用jquery之類的東西來寫,可能要寫好多代碼,那麼我們用vue呢,代碼如下html附上vue中style與class綁定API<div id="wrap"
Time of Update: 2017-12-18
如果你是一名Web開發工程師,那麼你一定使用PHP開發過很多Web應用程式。但是你知道如何使用PHP快速構建一個命令列應用程式(工具)嗎?下面我將向您展示如何使用PHP和一個著名的的Composer擴充包--Symphony/Console構建一個命令列應用。Symphony/Console是一個使用Composer管理的PHP擴充包,它簡化了建立一個漂亮的、可測試的PHP命令列應用的過程,它提供了開箱即用的諸如(可選/必選的)參數規範和選項規範(使用-符號)等功能。那麼,我們來一起開始構建我們
Time of Update: 2017-12-18
sqlite3_open是sqlite資料庫的api函數(C/C++),作用是開啟(或建立)一個資料庫檔案。本文主要和大家分享php封裝db類串連sqlite3 的知識,希望能協助到大家。<?php class dbManager{ public $db; function __construct(){ if(!file_exists('./db.php')){
Time of Update: 2017-12-22
很多時候我們需要批量抓取一些網站的資源,這個時候就需要用到爬蟲。爬蟲的基礎就是通過CURL來類比HTTP請求然後解析資料,本文就通過編寫一個簡單的網路爬蟲來帶領大家學習PHP的CURL。先介紹一些常用的函數。curl_init 初始化一個curl對話curl_setopt 設定curl參數,即傳輸選項curl_exec 執行請求curl_close 關閉一個curl對話主要是上面四個curl_errno 返回最後一次錯誤碼,php已經定義了諸多錯誤枚舉編碼curl_errror
Time of Update: 2017-12-21
本文通過資料庫層面來解析私信訊息準系統的實現。項目需求:私信功能,實現像對方發送私信訊息後,在我的私信列表頁面顯示與發送或者接受訊息的人列表,列表每條記錄只顯示與該對話的最新的一條訊息。 點擊列表中的任意一條,進入到訊息對話詳情頁面,按照倒序顯示該對話的詳細內容。同時在這兩個頁面都可以進行刪除對話,私信列表頁面刪除是與對方的所有會話,私信詳情頁面刪除的是某一條對話,而且單方刪除對話記錄,不影響對方查看。軟體環境:
Time of Update: 2017-12-21
使用 phpize 動態添加 PHP 擴充是開發中經常需要做的事情,但是在 macOS 中,首次使用該功能必然會遇到一些問題,本文將提供了一些常見錯誤的解決方案。問題一:執行 phpize 報錯如下:$ phpize grep: /usr/include/php/main/php.h: No such file or directorygrep: /usr/include/php/Zend/zend_modules.h: No such file or directorygrep:
Time of Update: 2017-12-14
之前我們使用的定時任務都是只部署在了單台機器上,為瞭解決單點的問題,為了保證一個任務,只被一台機器執行,就需要考慮鎖的問題,於是就花時間研究了這個問題。到底怎樣實現一個分布式鎖呢?本文主要介紹了Redis實現分布式鎖的方法樣本,小編覺得挺不錯的,現在分享給大家,也給大家做個參考,希望能協助到大家。鎖的本質就是互斥,保證任何時候能有一個用戶端持有同一個鎖,如果考慮使用redis來實現一個分布式鎖,最簡單的方案就是在執行個體裡面建立一個索引值,釋放鎖的時候,將索引值刪除。但是一個可靠完善的分布式鎖需