Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.
number_format( $aMontlyPayment, 2 ) . "</b><br>"); print( "Suma rat: <b>" .
number_format( fin_total( $Amount, $Interest, $Term ), 2 ) . "</b><br><br>" ); $aArray = fin_table( $Amount, $Interest, $Term );
?>
<table border="1">
<tr>
<td>
Rata nr.
</td>
<td>
Podstawa
</td>
<td>
Odsetki
</td>
</tr>
<?php
$nIndex = 1;
Rozdział 11 – Ponowne wykorzystanie kodu
136
foreach( $aArray as $aIntPmt )
{
$aPrinciple = number_format( $aMontlyPayment - $aIntPmt, 2 );
$aIntPmt = number_format( $aIntPmt, 2 );
?>
<tr>
<td>
<?=$nIndex?>
</td>
<td>
<?=$aPrinciple?>
</td>
<td>
<?=$aIntPmt?>
</td>
</tr>
<?php
$nIndex++;
}
?>
</table>
<?php
}
?>
<form action="<?=$PHP_SELF?>" method="post">
<table>
<tr>
<td colspan="2">
To jest prosty kalkulator rat kredytu.
Wprowadź kwotę pożyczki, oprocentowanie i czas spłaty
</td>
</tr>
<tr>
<td>
Kwota:
</td>
<td>
<input type="text" name="Amount">
</td>
</tr>
<tr>
<td>
Oprocentowanie ("7.5" == 7.5%):
</td>
<td>
<input type="text" name="Interest">
</td>
</tr>
<tr>
<td>
Czas spłaty (w latach):
</td>
<td>
<input type="text" name="Term">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="Submit" value="Wyślij">
</td>
</tr>
</table>
</form>
</body>
</html>
Skrypt ten wyświetla formularz do wprowadzenia danych kredytu, a następnie wysyła je do samego siebie.
Po wywołaniu go poprzez wywołanie HTTP POST, wywoływane są funkcje finansowe i wyświetlane wyniki ich działania. Na rysunku 11.1. pokazany jest fragment strony będącej wynikiem typowego wykonania programu.
137
PHP – Kompendium wiedzy
Rysunek 11.1.
Wykorzystanie
nowych funkcji
finansowych
Jak wspomniano wcześniej, jeżeli masz dużą bibliotekę kodu C/C++ pochodzącą z istniejących aplikacji i zamierzasz przenieść je do środowiska WWW, PHP posiada prosty mechanizm integracji istniejącego kodu z nowymi aplikacjami. Zaletą tego rozwiązania jest możliwość ponownego wykorzystania dobrze przetestowanego kodu oraz dobra wydajność skompilowanego kodu. Dodatkowo, funkcje napisane w C lub C++ mogą realizować funkcje, których nie da się napisać wyłącznie w PHP. Na przykład implementacja bezpiecznych gniazd zapewnia możliwości, które nie mogą być w chwili obecnej zrealizowane przy pomocy funkcji PHP.
Rozważając integrację istniejącego kodu C/C++ z PHP należy wziąć pod uwagę, że koszt integracji może być wyższy od kosztu przepisania kodu na PHP. Przytoczony wcześniej przykład może być łatwo przepisany na PHP i zajmie to mniej czasu. Dodatkowo kroki podjęte w czasie integracji muszą być w części powtórzone dla każdej nowej wersji PHP. Jeżeli zamierzasz zawsze korzystać z najnowszej wersji PHP, powoduje to konieczność ciągłej konserwacji istniejącej witryny.
Inną możliwością wykorzystania istniejącego kodu C/C++ jest jego skompilowanie i wykonywanie na serwerze WWW poprzez PHP. Metoda ta zostanie opisana w dalszej części rozdziału.
Java
W rozdziale 9, „Niezależność od przeglądarki” przedstawiony został opis połączenia Javy z PHP.
Możliwość używania klas Javy została wprowadzona w PHP4. Z powodu popularności Javy, dostępne jest wiele klas i modułów klas Javy, oferowanych przez wielu niezależnych dostawców. Obsługa Javy nie jest włączona domyślnie do PHP, więc należy przekompilować PHP, aby móc skorzystać z tego potężnego narzędzia.
Dodawanie obsługi Javy w PHP na *niksach