乙個簡單php擴充套件介紹與開發教程

2022-10-05 04:24:07 字數 1848 閱讀 5243

我們使用php擴充套件,主要目的www.cppcns.com是提高程式的執行效率,對於訪問量很大的**或者邏輯將其寫成擴充套件。在做專案的過cjfxl程中,需要對資料進行排序,資料運算比較複雜;我們準備對一百萬個資料進行排序, 下面是我在程式之前做的乙個測試:首先使用php程式生成一百萬的隨機數,並將其儲存在檔案中。

生成隨即數的**如下面所示:

複製** **如下:

set_time_limit(0);

ini_set("memory_limit", -1);

$data = array();

for($i = 1; $i < 1000000; $i++)

$data = rand();

file_put_contents('data.php', '<?php $data = ' . var_export($data, true) . "; ?>");

**很簡單,一看就明白,程式設計客棧這裡不作說明。

下面是使用php寫的快速排序,php自身帶的排序函式,以及自己擴充套件的排序函式,它們所需時間如下所示:

下面將php**展示一下,需要說明的是:hello函式時自己寫的擴充套件

複製** **如下:

<?php

ini_set("memory_limit", -1);

set_time_limit(0);

include_once('data.php'); //剛才產生的隨機數儲存在這個檔案

$len = count($data);

$data_s = $data_q = $data;

$s_s = $s_t = array_sum(explode(" ", microtime()));

qsort($data, 0, $len-1);

$s_t = array_sum(explode(" ", microtime()));

sort($data_s);

$q_t = array_sum(explode(" ", microtime()));

$data_q = hello($data_q);

$r_t = array_sum(explode(" ", microtime()));

echo "php寫的快速排序時間: " . ($s_t-$s_s) . "

";cjfxl

echo "系統排序函式使用時間為: " . ($q_t-$s_t) . "

"; echo "本地排序函式使用時間為: " . ($r_t-$q_t) . "

"; echo "兩個結果的對比:" . ($data_s === $data_q);

function qsort(&$arr, $l, $u) }

} $t = $arr[$l]; $arr[$l] = $arr[$m]; $arr[$m] = $t;

qsort($arr, $l, $m-1);

qsort($arr, $m+1, $u);

} ?>

很簡單吧, 多的不說啦,下面說說這個擴充套件的開發

生成 擴充套件有一定的步驟,網上都有很講解,我這裡也不再羅嗦,

首先使用php的庫檔案生成乙個基本的擴充套件專案

生成的專案,

修改sort.c,將自己的快排寫進去, 我這邊的**是將php程式的快速排序改成c語言。生成dll後,將其放在php擴充套件中,首先檢查一下是否已將啟用擴充套件。

然後 在**中直接使用hello函式(我這裡沒有改函式名)

注意:擴充套件一定要考慮全面,不能在使用**錯,特別是c寫的**,否則會出現php系統崩潰

本文標題: 乙個簡單php擴充套件介紹與開發教程

本文位址: /wangluo/php/58945.html

乙個簡單的PHP擴充套件

php擴充套件開發 安裝php posix定時器 timer settime 我們先假設業務場景,是需要有這麼乙個擴充套件,提供乙個叫ccvita string的函式,他的主要作用是返回一段字元。這個業務場景實在太假,大家就這麼看看吧 對應的php 可能是這樣 function ccvita str...

快速開發乙個PHP擴充套件

快速開發乙個php擴充套件 本文通過非常快速的方式講解了如何製作乙個php 5.2 環境的擴充套件 php extension 希望能夠在 的方式下讓想快速學習的朋友了解一下製作過程。步驟一 生成擴充套件框架 cd root soft php php 5.2.6 ext ext skel extna...

快速開發乙個PHP擴充套件

快速開發乙個php擴充套件 本文通過非常快速的方式講解了如何製作乙個php 5.2 環境的擴充套件 php extension 希望能夠在 的方式下讓想快速學習的朋友了解一下製作過程。步驟一 生成擴充套件框架 cd root soft php php 5.2.6 ext ext skel extna...