How to get PHP standard functions in C?
How can I call PHP functions from my C application?
Example:
include <php.h>
int main()
{
return json_encode(""); // This is a PHP function coming from php.h
}
Note: PHP function collections is very managed and organized, i just want to have tha开发者_如何学Got logic in my C application, everything organized on-demand. Thats the beauty i found in PHP language.
Since I also want my downvote today, I will try to answer to this question ;)
I don't know if what you're asking is possible. But I'm sure of some other things :
- The result will be really complicated, slow and will lead to many problems with dependencies and portability.
- You will get much better answer if you try to explain why you're asking this and what are the goals you want to achieve
- The major part of PHP is implemented in C, so everything your doing in PHP can be done in C too. Concerning this, here's some reading about Turing Completeness.
- Learning the C language instead of wanting to use some known PHP functions will open you new perspectives which will only improve your coding skills.
- You should ask you if you really want / have to use C, or if it's better to use some other higher level language.
- If you want to decode JSON messages in C, http://www.json.org/ lists plenty of C implementation of the standard you can use. For base64 decoding, see this How do I base64 encode (decode) in C? for example.
No you cannot. You can however "extend" PHP using C and might be able to cook something up like this but it's not really useful. Why do you want to do this?
Since C is faster than PHP, and PHP is written in C, I am thinking that trying to use PHP functions in C would make your program unnecessarily slow. And I am pretty sure that it is impossible.
You could, and actually this is a project I have in mind.
What has to be done is to get the PHP SPL code and just rewrite it (clean it a little) to be used as a regular C library.
I'd like to do it some day.
精彩评论