Giriş

Uyarı

Bu eklenti DENEYSELDİR. Bu eklentinin davranışı, işlev isimleri ve tüm belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu riski göze alamayacaksanız bu eklentiyi kullanmayın.

Bcompiler eklentisi birkaç amacı, görevi gerçekleştirmek için yazılmıştır:

  • Özel PHP uygulamalarında bütün betiğin kodlanmasını sağlamak
  • Özel PHP uygulamalarında bazı sınıf veya işlevlerin kodlanmasını sağlamak
  • İstemci masaüstlerinde çalışan php-gtk uygulamalarında, uygulamanın php.exe'ye ihtiyaç duymadan çalışmasını sağlamak.
  • PHP'den C'ye dönüştürücü için ölçeklenebilir çalışma yapmak
Bunların ilki bcompiler_write_header(), bcompiler_write_file() ve bcompiler_write_footer() işlevleri kullanılarak gerçekleştirilir. Derlenen dosyalar sıkıştırılmamış veya salt metin olarak yazılabilir. Derlenmiş dosyayı kullanabilmek için basit bir şekilde include veya require deyimleri kullanılabilir.

İkinci tip görevler bcompiler_write_header(), bcompiler_write_class(), bcompiler_write_footer(), bcompiler_read(), ve bcompiler_load() işlevleri kullanılarak gerçekleştirilebilir. Derlenmiş dosyalar sıkıştırılmamış veya salt metin olarak yazılabilir. bcompiler_load() işlevi sıkıştırılmış bir derlenmiş dosyayı okuyabilir, bu sıkıştırılmış dosyalar özgün dosyanın 1/3 boyutunda olabilirler.

EXE türünde dosyalar oluşturmak için, bcompiler değiştirilmiş bir sapi dosyası veya paylaşımlı kütüphane şeklinde derlenmiş bir PHP sürümü ile birlikte kullanılmalıdır. Bu durumda, bcompiler sıkıştırılmış kodları exe dosyasının sonundan okur.

Bcompiler sıkıştırılmamış kodlarla kullanıldığı zaman yaklaşık %30 daha verimli çalışabilir. Sıkıştırılmamış kodların özgün kaynak kodundan 5 kez daha büyük olduğunu unutmayın. Kodları sıkıştırılmış şekilde kullanmak size alan kazandırır fakat sıkıştırılmış kodun açılması kaynağın çözümlenmesinden çok daha fazla zaman ister. Bcompiler herhangi bir kod en iyileştirmesi yapmaz, en iyileştirme gelecekte eklenebilir...

Kod koruması bakış açısından, kodun derlenmiş halinden yorumlu kaynak koda ulaşmanın imkansız olduğunu söyleyebiliriz. Bcompiler ile derlenmiş koddan tekrar oluşturulmuş ve değiştirilmiş bir sınıf etkin şekilde kullanılamaz. Bununla birlikte derlenmiş dosyadan veri elde etmek mümkündür, yani şifreleri veya özel olan herhangi bir şeyi derlenecek dosyalara koymayın.