Mam świadomość, że jest to stare pytanie (od 2012 r.), Ale odpowiedź uległa zmianie i istnieje teraz narzędzie, które może to zrobić. Zestaw narzędzi PHP-to-C dla programu Jim Thunderbirds zapewnia możliwość przechodzenia prostej klasy w jednym pliku, aż do złożonego wielopoziomowego, wielopoziomowego frameworku opartego na przestrzeni nazw, i przekonwertowania go na rozszerzenie C, które można następnie zainstalować w swoim PHP serwer.
Podczas gdy w wielu przypadkach nie jest to konieczne, ponieważ zwykły kod PHP będzie działał równie dobrze, w niektórych przypadkach można doświadczyć znacznej poprawy wydajności. Strona informacyjna pokazuje, że zwykła klasa (celowo zaprojektowana, aby zajmować dużo czasu) zajęła 16,802139997482 sekund jako zwykły vanilla PHP, a 3.9628620147705 jako rozszerzenie PHP zbudowane przy użyciu tego narzędzia.
Dodatkową zaletą tego narzędzia jest również dodatkowa funkcja. Możliwość łączenia kodu PHP (konwertowanego na C) i natywnego kodu C w ramach tego samego rozszerzenia, co pozwala uzyskać jeszcze lepsze ulepszenia wydajności. Ten sam przykład użyty powyżej to tylko narzędzie 0.14397192001343 sekundy, kiedy znaczna część intensywnego kodu została przeniesiona do kodu C typu bąbelkowego i po prostu wywołanie go z poziomu kodu PHP.
Jako boczna uwaga funkcjonalnie do końca deweloperzy używający kodu używającego rozszerzenia są bardzo podobne do ręcznego uwzględniania plików w rozwijanym pliku PHP, z tym że nie muszą być specjalnie uwzględniane, ponieważ odbywa się to poprzez składnik rozszerzeń PHP.
(Uwaga: nie jestem związany z tym programistą, ale cieszę się, że go spotkałem, ponieważ do tej pory pracowałem nad przekształceniem niektórych z moich intensywnych zajęć w rozszerzenia PHP bez konieczności znajomości C).
Czy próbujesz zezwolić innym na korzystanie z zajęć bez wyświetlania źródła? Jeśli nie, po prostu skopiuj plik class.php do systemu plików, gdzie inne strony mogą go pobrać. W przeciwnym razie wystarczy zrobić wiele kopii. Zazwyczaj nie zmienisz swojej klasy PHP na rozszerzenie, chyba że robiłeś to ze względu na wydajność. – bramp
Tak, muszę pozwolić innym używać klasy bez sprawdzania źródła, dzięki za odpowiedź – Wiika