GithubHelp home page GithubHelp logo

libpdk / libpdk Goto Github PK

View Code? Open in Web Editor NEW
65.0 10.0 8.0 3.98 MB

The fundamental runtime framework of php language

Home Page: http://www.libpdk.org

License: Apache License 2.0

CMake 0.71% C++ 71.81% Shell 0.01% C 20.37% Objective-C++ 0.59% Objective-C 6.50% Brainfuck 0.01% Batchfile 0.01%
php stdlib cpp17 php-stdlib runtime-library php7

libpdk's Introduction

What is libpdk project

libpdk is a fundamental runtime of the php language just like the Java developement kit(JDK), the libpdk project regroup php kernel and standard C API into OOP style according to JDK and Qt framework and bring multithread support, multiprocess and multithread synchronization mechanism (atomic, mutex, condition variable), coroutine and event drived network framework into PHP language. developer can use the facility of libpdk to develop system management script, web application, high performance TCP/UDP server.

Features

OOP design like JDK

We develop libpdk with object oriented programming style, reorganize PHP functions, interface and classes like Java JDK style. To provide developer with a well designed and robust programming interface.

Thread safe support

Care about multithread environment, almost all of API are thread safe implementation. You can develop multithread application happily with libpdk, use operation system thread mechanism to improve application performance.

High performance

ibpdk develop with modern C++ language and deliver to PHP developer as PHP native extension. We borrow many function and class implemention from JDK, C++ standard library and PHP kernel source code. We implment libpdk as fast as we can.

Complete documentation

A good opensource project must be well documented, libpdk supply a complete programming manuals and application programming interface documentations online. You can learn libpdk easily by manuals and get API detail usage in API documentations.

Implement with C++11

libpdk itself is big project develop with C++, We use modern C++ standard when coding and very care about the project architecture, code readability and maintainability. Provide application developer with a reliable framework codebase.

Opensource project

libpdk is an opensource project adopt the Apache Licence 2.0 licence and code managed with Github platform, You can develope application with libpdk carefree, Just enjoy it!

Support PHP Version

  • PHP 7.0
  • PHP 7.1
  • PHP 7.2
  • ...

many thanks to zendAPI project, see below description

Zend Engine API adapter project

zendAPI project official websites

http://www.zendapi.org

What is zendAPI project

zendAPI is a project to wrapper the C API of Zend Engine into object oriented programming interface that implement with modern C++11 programming language. The zendAPI project provide php extension developer with a simple, rubust and OOP style API, so developer don't need learn the ugly and complex raw Zend Engine API, thereby let the php extension development become a simple and rapid task.

Meet the Team

We need these types of contributors:

  • Core CPP developer
  • libpdk application manual writer
  • PHP API documentation writer
  • CPP API documentation writer
  • Official website maintainer
  • Demo application developer
  • Community sermon for libpdk

If you are interested in any kind of work in the list above, please contact me:

[email protected]

The Community Contributors

Some members of the libpdk community have so enriched it, that they deserve special mention. We've developed a more intimate relationship with these key partners, often coordinating with them on upcoming features and news.

Members

oops, empty

libpdk's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libpdk's Issues

Build fails on OS X

Hey there!

I did a blind try to build this library and got quite some errors. To reproduce:

  • git clone https://github.com/libpdk/libpdk.git
  • mkdir out
  • cd out
  • cmake ..

CMake fails with this:

-- Performing Test PDK_TEMP_C_SUPPORTS_C99 - Success
 -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wdelete-non-virtual-dtor -Wstring-conversion -Werror=date-time -Wno-unused-function -Wno-unneeded-internal-declaration -Werror=unguarded-availability-new -std=c99
CMake Warning (dev) at thirdparty/zendapi/CMakeLists.txt:68 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'ZAPI_OPT_ENABLE_UNIT_TESTS'.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at thirdparty/zendapi/CMakeLists.txt:71 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'ZAPI_OPT_ENABLE_RUNTIME_TESTS'.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at thirdparty/zendapi/cmake/modules/DetectPhpInfo.cmake:34 (message):
  php library is not found automatic, maybe your php is not in system
  standard path you can specify ZAPI_OPT_PHPCFG_PATH and try again, good
  luck!
Call Stack (most recent call first):
  thirdparty/zendapi/CMakeLists.txt:138 (include)


-- Configuring incomplete, errors occurred!
See also "/Users/Ingwie/Work/Git/libpdk/out/CMakeFiles/CMakeOutput.log".
See also "/Users/Ingwie/Work/Git/libpdk/out/CMakeFiles/CMakeError.log".

Now, I installed PHP7 via Homebrew and this is where it is:

[email protected] ~/W/G/l/out $ which php-config
/usr/local/bin/php-config
[email protected] ~/W/G/l/out $ which php
/usr/local/bin/php
[email protected] ~/W/G/l/out $ which php-cli
[email protected] ~/W/G/l/out $ php --version
PHP 7.2.14 (cli) (built: Jan 12 2019 05:21:04) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies
[email protected] ~/W/G/l/out $ php-config --version
7.2.14

So apparently, something is not working :)

Any hotfix I can apply to make this build?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.