PHP için gömülü betik dilleri?

3 Cevap php

i was wondering if anybody knows of a nice scripting language that can be embedded into php? Javascript would be favorite and although there are several attempts they are either much too shaky/slow/outdated (phpjs, j4p5) or a real pain to get up and running on shared hosts (pecl spidermonkey).

Arka plan: Ben sunucu üzerinde php kontrol etmek için kullanılır ama aynı zamanda bazı mantığı desteklemesi gereken bir dil istiyorum, bu yüzden yaml, xml veya json sadece yeterli değildir. Ben LUA tercüman içine baktı ve mediakwiki ait "Kış" ama hepsi ya harici motorlarında güvenmek ya da güçlü bağlayıcı herhangi ettik.

pecl spidermonkey bağlama Diyelim js-motora vars, fonksiyonları ve tüm nesneleri kayıt nerede en eksiksiz gibi görünüyor. Herkes ne arıyorum yakın gelebilir herhangi bir sistem veya dil biliyor mu?

en iyi

rolf

3 Cevap

Ben endişenizi anlıyorum. Hatta güvenilir kaynaklardan için, PHP web isteği tüm çevre için gerekli olandan daha fazla erişim sağlar. Scripters güvenilen ve sadece bir komut dosyası hatası ile kendilerini zarar bile, bir daha kısıtlı kodlama ortamı bunları kullanmak için daha kolay ve desteklemek için daha kolay olacağını bile.

Bunu açıkça kapsamı yalnızca erişim kaynakları atayabilirsiniz kapalı sandbox edilebilir bir şey istiyorum, ve bu oldukça PHP kendi içinde daha bir "oyun içinde oyun" çalışma ortamında yürütür.

Bir yaklaşım, kullanıcı gönderilen komut için bir web çiftleşmiş dili kullanmaktır. Bu kontrol belirli bir miktar (örneğin değişken atama) sağlamak, ve diğer seçenekleri kapatmak, örneğin sonsuz bir döngü yazamıyor. Ben Java uygulamaları bu amaçla Velocity kullandım; Ben Smarty gibi bir şey PHP çalışabilir düşünüyorum, ama ben bu amaç için kullanarak doğrudan deneyimi yok.

Başka bir yaklaşım, ne komut yapmak için gerekli olan etki alanı kısıtlı ise, bir Domain Specific Language (DSL) uygulamaktır. I this answer bu sözü.

Bunun dışında, ben betik dillerinden herhangi saf-PHP uygulamaları bilmiyorum. Kendim de ilgi duyarım şey.

I've not seens many engines that allow another scripting language to be enabled in PHP :-(
Even on PECL, there doesn't seem to be lots of entries (see the "languages" category, for instance : only one, which you already know)
And on PEAR, I don't even find anything that would match your criteria...

I've played with Spidermonkey a bit (see this article on my blog, in french), and it's kinda fun, yes. But it was not really stable a couple of months ago when I wrote that article -- and there have only been a few commits since. So, I understand why hosting companies would not provide it on their servers...
Even if I'd like them to : could be great to allow non-PHP developpers to develop scripts for your application !

Bir soru olsa: neden PHP daha başka bir dil gerek / istiyorsun?

Ne demek PHP zaten sunucuda yüklü olduğunu, sen obvisously onunla deneyime sahip ve oldukça güçlü bir dil var ... Peki neden istiyorsun / başka bir şey ile çalışmak gerekir?

PHP'nin eval kullanarak, hatta "dinamik" PHP kodu (Yep, eval is eval and all that, I know ^^ ) yürütme hakkında düşünebilirsiniz

"Exec" ve benzeri gibi şeyler kullanarak başka bir seçenek, bir Linux sunucu üzerinde iseniz, kabuk-komut bir tür başlatmak için olacak; ama ben kesinlikle kabuk daha PHP kodlama tercih ederim ve ben ^ ^ kesinlikle tek değilim


Anyway, keeping an eye on the answers you might get, which could interest me quite a bit too ;-)

Her şeyden önce, ben betik dili haline betik dili gömmek için herhangi bir neden göremiyorum ..

Anyways, use Lua or nothing. http://pecl.php.net/package/lua