Ben JS içine bazı PHP dönüştürmek için bazı PHP kodu gerekir.
- işlevselliği - I php.js adlı ortak PHP işlevlerini kullanarak ediyorum
- sözdizimi -??
Sorun sözdizimi dönüştürmektedir. Ben tam PHP sözdizimi gerekmez, sakıncası; sınıf tanımları / beyanları destekleyen gerek. İşte dönüşüm ihtiyacı ne küçük bir kontrol listesi:
- "." olmalıdır "+" (dize concat)
- "->" Olmalıdır "." (Nesne operatör)
- "::" Olmalıdır "." (Sınıf operatörü - gerçekten gerekli değil)
Çıkan kod oldukça fazla bağımsız PHP ortamının, bu yüzden hayır ", PHP sınıfını kullanır ne olur?" Unutmayın.
Ben, tam kodu için dönüşüm bu tür doğru yönde sadece bir ipucu sormuyorum; Ben bir devlet makine / motor kullanan düşünüyordum.
Ben bazı koşullar göz önüne alındığında bazı elementlerin görünürlüğünü değiştirmek için dinamik bir yol gerekir: neden ben kullanıcı tarafında kod itiyorum olarak merak ediyorsanız. Planım bu kod sunucu tarafında yürütmek zorunda ve gereksiz ajax çağrıları kalmadan bu yapmaktır.
Edit: insanlara bak. AJAX kullanarak değil biliyorum size gülünç geliyor ama dünya yutturmaca ve güzel-sondaj tasarım koşullarında (= ajax) çalışmaz. Ben sadece benim sunucu 5, sadece bir "evet" veya "hayır" cevabı dönmek benim sunucusu için saniyede 10 kez, her tek kullanıcı yoklama göze alamaz. Anahtarlama uyumsuz olduğunu akılda tutmak, ve ben AJAX çağrıları tampon olamaz.
Edit 2: Ben ne yapıyorum benim durumda en iyi yoldur eminim. Orada hiçbir "belki daha iyi" yoludur, bu yüzden yapıcı olmayan yorum gönderme çıkın. Ben bu kadar zaten daha fazla bir detaya alınamıyor. JS PHP kod dönüşüm sadece kullanıcı girişi kısaltılması meselesi; biz sadece o (PHP JS, bu özel durumda) gerekli hangisi dil dönüştürmek, bir ifade gerekir. Ben API gözlük sistemini tanımlamak ve (sizin için) yararsız ile konuyu fazlasıyla bu nasıl çalıştığını koşulları not change bakılmaksızın prototip docs hiç yardımcı olmayacaktır olacaktır.
Ayrıca, bu düşünce için bu fikir formu bazı rüya uyandıktan sonra geldi; Bu teknik gelişme ve QA arasında gözden geçirilmiş biliyorum, bu yüzden inexistent tasarım konuları içine sapma etmeyiniz.
Edit 3: Örnekler (orijinal PHP kodu ve beklenen çıkışı):
- (Orijinal) - (dönüştürülür)
5=="test"
-5=="test"
'$'.(func(12)*10)
-'$'+(func(12)*10)
Fields::count()==5
-Fields.count()==5
$this->id==5
-this.id==5
Son örnek hakkında, bağlam / kapsam dert etmeyin, bu doğru. Ayrıca ifadeler tuhaf görünebilir unutmayın; bu, çünkü onlar are ifadesi; Bir EOL yokluğunu (;) ve bir boolean değer döndüren birden fazla kullanımını açıklar bir değer, döndürmesi gerekir kod tek bir satır. (Bilerek bıraktı vb tırnak işleci yürütme, PHP etiketleri, yankı, ölmek, liste, gibi egzotik şeyler.)