Otomatik olarak "$" eklemek

8 Cevap php

Ben (PHP ile yazılmış) bir programlama metin editörü ve düzenleme için belgenin yüklenmesi üzerine PHP mevcut $ işaretlerini kaldırmak için ... kullanıcı dosyayı kaydeder kez "sessizce" onları geri eklemek istiyorum. Temelde, kullanıcı her zaman (Eğer, diyelim ki, Python yok nasıl benzer) değişkenlerin önünde $ simgesini yazarak çalışmalarını kaydetmek istiyorum.

Benim soru: PHP kodu ile geri scripte $ işaretleri eklemek olabilir?

Işlevsellik tarzı kodlama açısından bazı tavizler ve varsayımlar yapacak bile - yani kenar durumlarda çalışmaz - Ben çok yararlı olacağını düşünüyorum.

Düzenleme: Ben aslında belirtildiği gibi, Üslup bakımından uzlaşmalar iyiyim. İşte 'parsin' easin ve hala IMO yazmak güzel olması olabilir bir örnek sözdizimi:

for (var i = 1; i <= 10; i++) { /* look ma, no $s! */ }

8 Cevap

Bu çılgın bir fikir ama bu yapılabilir. Bu değişkenler olduğunu editörü söylemek zorunda kalırsınız. Bunu yapmak için, editör bu değişkenler olduğunu bildirmek için var i, variable_name kullanmak zorunda olacak. Veya yorumlar şey.

Bu sözdizimi belirsiz yapacak çünkü, mümkün değil. Örneğin bir değişken ve bir tanımlanmış sabiti arasındaki farkı anlayamadı.

Ben bu "özelliği" eklemek için öneririm. PHP ile tanışmış insanlar alışkanlıkla bu ihtiyacını işeme, '$' işareti yazacaktır. Lukas dedi Ek olarak, $ işareti orada olmak için bir nedeni vardır ...

Bu iyi bir fikir gibi gelmiyor.

Belirtildiği gibi, sözdizimi belirsiz olacak.

Eğer are bu kodu koyarak olsa, bunu söyleme, ama metin editörü muhtemelen dizim yapıyor DEĞİLDİR.

Bir programming text editor için çok değerli bir katkı - Değişken isimleri $ işaretlerini kaldırarak sözdizimi uygulamak imkansız vurgulayarak olur.

Düzeltmek hiçbir yolu yoktur:

$blah = "hello";
"blah blah blah $blah blah";

Bir kaçış karakteri kullanmadan. Yani olarak yazmak zorunda:

$blah = "hello";
"blah blah blah " . $blah . " blah";

Ama bu php hissi aykırı. Ve o C kullanarak sorunu var ve aşağıdaki çözüm bulundu pascal programcı hatırlatıyor:

#define BEGIN {
#define END }

Hikayenin moral olduğu gibi bir dil kabul etmektir. Seçilmek için yeterli bulunmaktadır.

Bir "$" sembolü olmadan programlama dilleri uygulamak tamamen mümkün - - Muhtemelen yapılabilir ve ben "$" sembolü ilk etapta belirsizliği kaldırmak için hayata geçirildi ikna değil. (Yorumlanmış dilde özel bir sembol olması, bir değişken, sabit, ya da örneğin bazı tür bir işlevi ne ayırt zaman ayrıştırma hızlandırmak için kullanılan olabilir).

Ancak, bu zor olurdu. Hemen hemen o vb, ayrılmış bir kelime arama tablosunda eğer sen bir şey izlemek için ihtiyacınız olan şey, yani ne olduğunu çalışması için bazı form PHP ve arama tablosunun oldukça derin bir bilgiye sahip olurdu Kullanıcı bir değişken için yanlış olabilir neden olan - muhtemelen bağlamını kontrol ederek yapmak gerekir hangi. BT büyük ve karmaşık bir proje olacaktır.

Ben bunu düşünüyorum Yani iken (ve sözdizimi vurgulamasını tutmak - bunu yapmak için gerekli bilgi olacaktır beri temelde required bu özelliği uygulamak için) gerekli çaba uzaklarda zorunda değil yarar tartmak görünüyor Lütfen değişkenlerin önünde basit $ simgesini yazın.

Bu aşağı IDE öyle değil olurdu? Eğer düzenleme bir kez yapılır $ 'ın geri koymak hangi aracılığıyla çalıştırmak için bir komut dosyası olabilir. Sadece IDE yeteneğine ne bağlıdır.

Ben gerçekten çok bir sorun olarak göremiyorum, zor bir karakter eklemek olduğunu?

Ben de onu (sanırım Perl devralınan) Python veya Lua veya bu $ olmadan başka bir dilde kod basit olabilir kötü bir fikir olduğunu düşünüyorum.

Yanında, bunu neredeyse doğru almak için tam bir PHP lexer / ayrıştırıcı gerekir, ve ben zor köşe davanın çok dizeleri interpolasyon gibi, düzeltmek alacak sanırım.