Online PHP derleyicisi nasıl kullanılır?
- Düzenleyiciye bir PHP betiği yazın veya yapıştırın. Açılış
<?phpetiketi isteğe bağlıdır; kodunuzda hiç PHP etiketi yoksa sizin için eklenir. HTML ile<?php ... ?>bloklarını karıştıran şablonlar da çalışır. Örneği sıfırla, başlangıç kodunu geri getirir. - Çalıştır düğmesine basın veya Ctrl + Enter (Mac'te ⌘ + Enter) kısayolunu kullanın.
- Betiğinizin
echo,print,printfveyavar_dumpile yazdırdığı her şey Çıktı panelinde görünür. Uyarılar ve ölümcül hatalar vurgulanır. - Süre sınırını 5, 15 veya 60 saniye olarak seçin. Daha uzun süren betikler otomatik durdurulur; Durdur ise çalıştırmayı hemen sonlandırır.
İlk çalıştırmada yaklaşık 12 MB boyutundaki PHP yorumlayıcısı indirilir. Tarayıcınız onu önbelleğe alır; böylece sonraki çalıştırmalar çok daha hızlı başlar. Betiğinizi saklamak için Kopyala veya main.php düğmesini kullanın.
PHP tarayıcınızın içinde yerel olarak çalışır; bu yüzden kodunuz sunucularımıza gönderilmez ve orada saklanmaz. Düzenleyici son betiğinizi tarayıcınızın yerel depolama alanında hatırlar, başka hiçbir yerde değil.
Neler destekleniyor?
Derleyici, WebAssembly'ye derlenmiş PHP yorumlayıcısı olan php-wasm üzerinden PHP 8 kullanır. Bir benzetim değildir; kodunuzu PHP'nin kendisi çalıştırır.
- PHP 8 sözdizimi: tipli özellikler, birleşim tipleri,
matchifadeleri, adlandırılmış argümanlar, ok fonksiyonları (fn), nullsafe işleci (?->) ve paketlenmiş sürümün desteklediği yerlerde enum'lar. - Çekirdek fonksiyonlar: dizgiler (
str_contains,sprintf,explode), diziler (array_map,usort,array_filter), matematik ve tarihler için. - JSON:
json_encodevejson_decodeile. - Düzenli ifadeler:
preg_*fonksiyonlarıyla. - Sınıflar, arayüzler, trait'ler, closure'lar, üreteçler ve istisnalar.
Sınırlamalar:
- Ağ eklentileri yok:
curl, soketler ve HTTP istekleri kullanılamaz. - Veritabanı sunucusu yok: bağlanılacak bir MySQL veya PostgreSQL yoktur. SQL pratiği için online SQL derleyicisini kullanın.
- Web sunucusu bağlamı yok:
$_GET,$_POST, oturumlar ve çerezler gerçek istek verisi almaz; HTML çıktısı işlenmeden metin olarak gösterilir. - Composer paketleri ve standart girdi desteklenmez.
PHP hızlı başvuru
<?php
$prices = ['apple' => 1.20, 'bread' => 2.50, 'milk' => 0.99];
$expensive = array_filter($prices, fn($p) => $p > 1);
arsort($expensive);
foreach ($expensive as $item => $price) {
printf("%-6s %5.2f\n", $item, $price);
}
$label = match (true) {
count($prices) > 2 => 'big basket',
default => 'small basket',
};
echo $label, PHP_EOL;
echo json_encode($prices, JSON_PRETTY_PRINT), "\n";
| Görev | Sözdizimi |
|---|---|
| Değişken | $name = "Ada"; |
| Dizgi enterpolasyonu | "Hello, {$name}!" |
| İlişkisel dizi | $a = ['key' => 'value']; |
| Anahtarlar ve değerler üzerinde döngü | foreach ($a as $k => $v) { } |
| Bir değeri inceleme | var_dump($x); veya print_r($x); |
| Null birleştirme | $v = $a['x'] ?? 'default'; |
İpuçları
- Satırları
"\n"veyaPHP_EOLile bitirin;echokendiliğinden satır sonu eklemez. - İç içe dizilerin derli toplu görünümü için
print_r($array), tipler ve uzunluklar da gerektiğindevar_dump()kullanın. - Okunaklı JSON için
JSON_PRETTY_PRINTverin veya çıktıyı doğrulamak için JSON biçimlendiriciye yapıştırın. - Her çalıştırma yepyeni bir yorumlayıcı başlatır; bu yüzden önceki çalıştırmadan değişkenler ve fonksiyonlar korunmaz.
preg_match deseni mi deniyorsunuz? Önce regex test aracında oluşturup hata ayıklayın, sonra ayırıcıların arasına yapıştırın; örneğin '/^\d+$/'.Sıkça sorulan sorular
Koduma <?php ile başlamam gerekiyor mu?
Hayır. Betikte <?php etiketi yoksa otomatik olarak eklenir. Bir web sunucusundaki .php dosyasında olduğu gibi, gömülü <?php ... ?> blokları olan HTML de yazabilirsiniz.
MySQL'e bağlanabilir miyim?
Hayır. Yorumlayıcı tarayıcınızda, ağ erişimi veya veritabanı sunucusu olmadan çalışır. SQL pratiği için SQL derleyicisi size tarayıcıda gerçek bir SQLite veritabanı sunar.
curl veya URL ile file_get_contents() neden çalışmıyor?
Ağ eklentileri bu WebAssembly sürümüne dahil değildir ve tarayıcılar bunun gibi bir korumalı alandan ham ağ bağlantılarına izin vermez.
Bu, PHP'yi bir sunucuda çalıştırmakla aynı mı?
Dil özellikleri, dizgi, dizi ve JSON fonksiyonları için evet: gerçek PHP motorudur. Bir web sunucusuna, eklentilere veya ağa bağlı her şey farklı davranır.
Güncellendi