摘要:如果內(nèi)核這方面如果做得好的話,估計也沒有我們這個項目了。規(guī)范化版本號與版本發(fā)布流程,針對主流平臺進行測試,提供相應的二進制包等等。
因為時間有限,開發(fā)在每天的上午6點到9點,晚上9點到12點以及周末,所以項目周期可能比正常的要長一點,我的計劃如下:
7月到8月完成對 zend engine 的一些核心數(shù)據(jù)庫的封裝這個階段主要針對 zend engine 一些常用的數(shù)據(jù)接口做一些面向?qū)ο蟮姆庋b,比如用的最多的 HashTable, zendAPI 會為其提供一個STL風格的迭代器進行數(shù)據(jù)訪問,常見的 HashTable 的訪問語義接口,方面開發(fā)者的日常調(diào)用, 避免用到類型不安全的宏調(diào)用。
8月到9月初步完成函數(shù)與面向?qū)ο笳Z義這部分接口的封裝這部分主要讓開發(fā)者方便的往 zend engine 掛載自己定義的函數(shù),變量和類等等,將一些日常的參數(shù)獲取以及返回值進行標準化,讓書寫自定義函數(shù)的時候只關(guān)心自己的業(yè)務邏輯,讓這部分代碼遠離 zend engine 底層的細節(jié)。在面向?qū)ο筮@一塊跟函數(shù)的思想也差不多,主要讓開發(fā)者創(chuàng)建自己的名稱空間,自定義的類更加的簡明,不用太關(guān)心底層一些繁瑣的細節(jié), zendAPI 到時候會提供對 PHP 版本號的兼容,所以對以后的升級,可以讓您的擴展最大限度的避免修改。
9月到10月完成全局資源的統(tǒng)一訪問接口的封裝PHP 從最開始的時候帶入了一些很不好的全局變量和資源,其實這個并不是很好,會讓程序維護性大大降低。但是歷史已經(jīng)已經(jīng)無法改變,我們只能以一種相對比較安全的方式去使用它,慢慢的淘汰它,在 zendAPI 中我們將對其提供一些統(tǒng)一的訪問接口。
10月到11月完成 zend engine 啟動過程的封裝擴展是不能脫離 zend engine 而存在的,我們必須將我們開發(fā)的擴展掛載到 zend engine 內(nèi)核上去,zend engine 有自己的一套啟動流程,也有自己明確的生命周期的概念并對外提供了很多的鉤子函數(shù)和大量的宏去幫組我們完成這個工作,但是相對來說還是相當繁瑣和復雜的,而我們有時候并不一定需要陷入這種細節(jié)之中浪費我們的寶貴的開發(fā)時間,所以我們在 zendAPI 中會對這個過程進行一些封裝,盡量去以一種面向?qū)ο蟮姆绞饺ズ喕麄€啟動過程。
11月到12月使用手冊與例子文檔的完善我從來都認為,一個好的開源項目,文檔這部分很重要,甚至有時候比項目本身還重要,因為現(xiàn)在大家的節(jié)奏都比較快,沒有時間對研究代碼,一個項目如果有好的文檔支持,會大大降低入門門檻,讓更多的人去使用這個項目,才能讓其發(fā)揮出價值。如果 zend engine 內(nèi)核這方面如果做得好的話,估計也沒有我們這個項目了。zendAPI 的文檔主要在官網(wǎng)上進行提供,共有三個方面
使用手冊
API接口文檔
開發(fā)博客
因為是暫時就我一個人開發(fā),包括網(wǎng)站的維護,文檔的書寫,所以很多方面很欠缺,到這個階段第一版的開發(fā)基本結(jié)束,我在這個階段基本是完成打包腳本的優(yōu)化和一些小工具的開發(fā),比如生成項目結(jié)構(gòu)的小程序。規(guī)范化版本號與版本發(fā)布流程,針對主流平臺進行測試,提供相應的二進制包(rpm, deb)等等。
總的來說,這個對我來說挑戰(zhàn)非常大,很多事情對我來說都是第一次,希望 zendAPI 能順利的跟大家見面,謝謝。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/25834.html
摘要:項目介紹是一個全新的語言的運行時環(huán)境,基于目前最新的進行打造,支持最新的語言規(guī)范,同時提供了自己的運行時標準庫。同樣也在的基礎(chǔ)上進行打造,實現(xiàn)了一個除開發(fā)之外的一個全新的運行環(huán)境。發(fā)布核心虛擬機的鏡像。整合運行時框架。 showImg(https://segmentfault.com/img/bVbnQXK); polarphp 項目介紹 polarphp是一個全新的PHP語言的運行時...
摘要:項目是什么是對的接口使用的最新標準進行而面向?qū)ο蟮姆庋b,從而屏蔽了底層的接口復雜性,加快開發(fā)擴展的效率。國內(nèi)同類型的項目推薦目前國內(nèi)有一個跟比較類似的項目,這個項目是項目作者開發(fā),值得推薦。項目名字項目的地址是大家有興趣可以研究。 項目Logo showImg(https://segmentfault.com/img/bVVtW8?w=716&h=218); zendAPI 是什么? ...
摘要:從而讓的擴展開發(fā)成為一種享受,不用在考慮不同版本帶來的差異性,讓開發(fā)者專注于自身的業(yè)務邏輯。怎么參與交流下面是我們項目的線上交流群和微信的二維碼,大家可以掃碼加入技術(shù)圈歡迎大家在這兩個平臺上與我們進行互動特別感謝無線電安全研究部獨角獸團隊 360開源項目介紹: 360開源官方github: https://github.com/qihoo360 今天給大家介紹一個360最新開源的產(chǎn)...
摘要:項目編譯腳本整體代碼編譯腳本逐行解說我們推薦的版本是這里如果您的版本低于的話,會報錯。這里我們定義我們的項目名稱為使用的編程語言為。這行代碼的意思就是指示編譯器使用的標準對代碼進行編譯。在項目中我們主要有三個文件,在這里進行添加。 原文鏈接:http://www.zendapi.org/manual... 因為 zendAPI 采用的是 CMake 進行編譯,所以我們的 helloza...
摘要:類型字符串默認值無描述這個變量的值將會傳遞給編譯器比如等等參數(shù)。類型字符串默認值無描述參考當可執(zhí)行文件在非主流的路徑下的時候可以指定這個變量,幫助編譯系統(tǒng)進行探測。 zendAPI 是采用 CMake 進行編譯的,我們在項目中定義了一些 CMake 的函數(shù),變量和選項,下面我們在這篇文章中對這些進行詳細的說明,有助于節(jié)省大家的時間。 CMake 內(nèi)置重要變量 CMAKE_INSTALL...
閱讀 3662·2023-04-26 00:05
閱讀 1032·2021-11-11 16:55
閱讀 3663·2021-09-26 09:46
閱讀 3601·2019-08-30 15:56
閱讀 974·2019-08-30 15:55
閱讀 2989·2019-08-30 15:53
閱讀 2024·2019-08-29 17:11
閱讀 871·2019-08-29 16:52