<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NativePHP Panduan &#8211; FoxDevelop</title>
	<atom:link href="https://www.foxdevelop.com/id/category/nativephp-id/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.foxdevelop.com</link>
	<description>Independent Software Developer Studio</description>
	<lastBuildDate>Sat, 04 Jul 2026 11:11:04 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://www.foxdevelop.com/wp-content/uploads/2026/05/fox-svgrepo-com-1.png</url>
	<title>NativePHP Panduan &#8211; FoxDevelop</title>
	<link>https://www.foxdevelop.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Tampilan Halaman WebView</title>
		<link>https://www.foxdevelop.com/id/2026/07/04/tampilan-halaman-webview/</link>
					<comments>https://www.foxdevelop.com/id/2026/07/04/tampilan-halaman-webview/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Sat, 04 Jul 2026 11:11:04 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=3253</guid>

					<description><![CDATA[Tampilan Halaman WebView Di pelajaran sebelumnya, kita sudah mempelajari lokasi UI halaman kita. Kita akan lanjut belajar pada pelajaran ini. Memahami Satu Tampilan Web Asli (WebView) Semua aplikasi seluler yang ...]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Tampilan Halaman WebView</h3>


<p class="wp-block-paragraph">Di pelajaran sebelumnya, kita sudah mempelajari lokasi UI halaman kita. Kita akan lanjut belajar pada pelajaran ini.</p>



<h3 class="wp-block-heading">Memahami <strong>Satu Tampilan Web Asli (WebView)</strong></h3>


<p class="wp-block-paragraph">Semua aplikasi seluler yang dibangun dengan NativePHP menggunakan <strong>satu tampilan web asli (WebView)</strong> sebagai wadah utama. Tampilan web memungkinkan kamu membuat antarmuka aplikasi dengan teknologi web frontend apa pun yang kamu kuasai. Karena pada dasarnya ini adalah halaman web, browser tertanam akan merender semua konten halaman tersebut.</p>


<p class="wp-block-paragraph">Secara bawaan, WebView akan memenuhi seluruh area layar yang terlihat. Namun saat membuka fitur seperti kamera, antarmuka kamera akan menutup WebView sementara.</p>


<p class="wp-block-paragraph">Inti dari NativePHP: Backend PHP + pengembangan hibrida dengan stack frontend apapun (Vue, jQuery, Tailwind dan lainnya)</p>


<p class="wp-block-paragraph">WebView selalu ditampilkan di paling depan, hanya layar penuh seperti kamera atau browser bawaan yang akan menutupnya. Semua UI yang terlihat pengguna dirender oleh WebView.</p>


<p class="wp-block-paragraph">Arsitektur dasar NativePHP Mobile: Wadah WebView tunggal, tanpa lapisan halaman asli banyak. Artinya NativePHP hanya memiliki satu halaman saja; semua perpindahan halaman dan tombol kembali berjalan di dalam WebView yang sama.</p>


<p class="wp-block-paragraph">Aplikasi seluler NativePHP selalu <strong>hanya memiliki satu kontrol WebView asli</strong>. Semua proses render halaman aplikasi berada di dalam wadah web ini:</p>


<ul class="wp-block-list">

<li>Perpindahan halaman, peralihan rute, kembali ke halaman sebelumnya, popup, sub halaman dan peralihan SPA <strong>tidak akan pernah membuat WebView kedua</strong>. Desain ini bertujuan mengurangi penggunaan memori.</li>


<li>Tidak ada tumpukan halaman asli Android/iOS serta hierarki Activity/ViewController;</li>


<li>Beberapa &#8220;halaman&#8221; yang kita lihat sebenarnya hanyalah peralihan DOM di dalam satu WebView melalui rute frontend (Laravel / Livewire / Vue Router dll), logikanya sama persis dengan aplikasi web satu halaman biasa.</li>

</ul>



<h4 class="wp-block-heading">1 Pengaturan Viewport (tag meta untuk penyesuaian layar)</h4>


<p class="wp-block-paragraph">Siapa pun yang pernah membuat situs web seluler pasti sudah mengenal pengaturan ini.</p>


<p class="wp-block-paragraph">Sama seperti browser biasa, WebView memiliki konsep Viewport (area tampilan), dikontrol dengan tag meta dengan sintaks yang sama persis dengan halaman web tradisional.</p>

<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"viewport"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"width=device-width, initial-scale=1"</span>&gt;</span></code></span></pre>

<p class="wp-block-paragraph">Tambahkan tag meta ini di file HTML atau Blade PHP kamu. Saat ini hampir semua situs web memasang konfigurasi ini agar bisa menyesuaikan diri dengan browser ponsel. Tanpa konfigurasi ini, halaman akan dirender berdasarkan standar PC: tulisan terlihat tipis dan tata letak berantakan, karena ponsel memiliki resolusi DPI yang tinggi.</p>


<p class="wp-block-paragraph">Kamu bisa coba di situs mana saja, contoh dokumentasi resmi NativePHP: <a href="https://nativephp.com/docs/mobile/3/the-basics/web-view">Web View &#8211; NativePHP mobile v3 &#8211; NativePHP</a>. Klik kanan halaman lalu lihat kode sumber untuk melihat tag tersebut.</p>


<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="586" height="431" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-70.png" alt="" class="wp-image-2030" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-70.png 586w, https://www.foxdevelop.com/wp-content/uploads/2026/06/image-70-300x221.png 300w" sizes="(max-width: 586px) 100vw, 586px" /></figure>


<p class="wp-block-paragraph">Pengaturan ini memiliki dua atribut utama:</p>


<p class="wp-block-paragraph"><code>width=device-width</code>: Lebar halaman sama dengan lebar fisik layar perangkat</p>


<p class="wp-block-paragraph"><code>initial-scale=1</code>: Skala awal tampilan 1:1, tidak ada perbesaran/perkecilan otomatis</p>



<h4 class="wp-block-heading">2 Nonaktifkan Zoom Dua Jari (Mensimulasikan Pengalaman Aplikasi Asli)</h4>


<p class="wp-block-paragraph">Aplikasi asli Android atau iOS tidak mengizinkan pengguna memperbesar/kecil layar dengan dua jari, berbeda dengan browser ponsel. Agar tampilan NativePHP mirip aplikasi asli, kamu harus menonaktifkan gerakan zoom ini.</p>


<p class="wp-block-paragraph">Saat mengembangkan aplikasi seluler kita butuh kontrol penuh atas tampilan, melarang zoom manual akan menghasilkan perilaku yang sama dengan aplikasi murni asli.</p>


<p class="wp-block-paragraph">Tambahkan atribut berikut ke tag viewport yang sudah ada:</p>

<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"viewport"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"width=device-width, initial-scale=1, user-scalable=no"</span>&gt;</span></code></span></pre>

<p class="wp-block-paragraph"><code>user-scalable=no</code>: Menonaktifkan gerakan zoom manual</p>



<h4 class="wp-block-heading">3 Render Sampai Tepi Layar Edge-to-Edge (Prasyarat untuk Layar Notch dan Lengkung)</h4>


<p class="wp-block-paragraph">Untuk memaksimalkan kebebasan desain UI, WebView secara bawaan memenuhi seluruh layar. Hanya dengan HTML/CSS/JS kamu bisa menempatkan konten di posisi mana pun di layar depan.</p>


<p class="wp-block-paragraph">Tetapi tidak seluruh permukaan layar bisa digunakan dengan normal. Sebagian besar perangkat memiliki notch kamera depan, sudut melengkung, tepi layar lengkung atau Dynamic Island di iPhone. Area ini masuk ke dalam viewport namun menutup konten dan tidak bisa diklik.</p>


<p class="wp-block-paragraph">Untuk menyesuaikan layar berbentuk khusus, tambahkan <code>viewport-fit=cover</code> di tag meta viewport dan gunakan bersama jarak aman (Safe Area Insets).</p>

<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"viewport"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"width=device-width, initial-scale=1, user-scalable=no, viewport-fit=cover"</span>&gt;</span></code></span></pre>

<p class="wp-block-paragraph"><code>viewport-fit=cover</code>: Membolehkan halaman dirender sampai tepi paling luar layar (termasuk notch dan sudut melengkung). Hanya parameter ini saja tidak cukup karena konten akan tertutup notch, wajib gunakan bersama gaya CSS Safe Area, silakan baca bagian selanjutnya.</p>



<h3 class="wp-block-heading">Area Aman Safe Areas</h3>


<p class="wp-block-paragraph">Area aman adalah bagian layar yang <strong>tidak tertutup</strong> dan bisa dilihat: tidak tertutup struktur perangkat keras (sudut melengkung, notch kamera depan, Dynamic Island) maupun antarmuka sistem yang permanen (bilah gerakan bawah, bilah status).</p>


<p class="wp-block-paragraph">Perangkat akan menghitung batas area aman secara otomatis dan menyesuaikan dinamis saat berganti]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/07/04/tampilan-halaman-webview/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title></title>
		<link>https://www.foxdevelop.com/id/2026/07/04/3237/</link>
					<comments>https://www.foxdevelop.com/id/2026/07/04/3237/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Sat, 04 Jul 2026 09:46:40 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=3237</guid>

					<description><![CDATA[# Direktori resources Pada pelajaran sebelumnya, kita membuat aplikasi standar menggunakan NativePHP dan membukanya di browser. Alamat defaultnya adalah: http://127.0.0.1:8000/ Halaman ini pada dasarnya adalah halaman web, jadi tidak ada ...]]></description>
										<content:encoded><![CDATA[# Direktori resources

<p class="wp-block-paragraph">Pada pelajaran sebelumnya, kita membuat aplikasi standar menggunakan NativePHP dan membukanya di browser. Alamat defaultnya adalah: http://127.0.0.1:8000/</p>



<figure class="wp-block-image size-full"><img decoding="async" width="476" height="573" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-11.png" alt="" class="wp-image-1862" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-11.png 476w, https://www.foxdevelop.com/wp-content/uploads/2026/06/image-11-249x300.png 249w" sizes="(max-width: 476px) 100vw, 476px" /></figure>



<p class="wp-block-paragraph">Halaman ini pada dasarnya adalah halaman web, jadi tidak ada masalah sama sekali. Tampilan UI NativePHP dibuat dengan HTML, CSS dan JS. Lalu bagaimana cara mengubah tampilan ini?</p>



<p class="wp-block-paragraph">Semua file yang bertugas menampilkan antarmuka tersimpan di folder resources yang ada di direktori proyek</p>



<p class="wp-block-paragraph">Di perangkat saya, path lengkapnya adalah sebagai berikut:</p>



<div class="wp-block-math"><math display="block"><semantics><mrow><mi>D</mi><mo lspace="0.2222em" rspace="0.2222em">:</mo><mtext style="color:#b22222;">\phpproject</mtext><mtext style="color:#b22222;">\my</mtext><mo>−</mo><mi>a</mi><mi>p</mi><mi>p</mi><mtext style="color:#b22222;">\resources</mtext></mrow><annotation encoding="application/x-tex">D:\phpproject\my-app\resources</annotation></semantics></math></div>



<p class="wp-block-paragraph">Buka folder tersebut, kamu akan melihat subfolder berikut:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="382" height="82" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-12.png" alt="" class="wp-image-1863" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-12.png 382w, https://www.foxdevelop.com/wp-content/uploads/2026/06/image-12-300x64.png 300w" sizes="(max-width: 382px) 100vw, 382px" /></figure>



<p class="wp-block-paragraph">Folder css untuk menyimpan style, folder js untuk skrip, sedangkan views berisi file PHP halaman. Di dalam views terdapat file-file berikut</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="355" height="61" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-13.png" alt="" class="wp-image-1864" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-13.png 355w, https://www.foxdevelop.com/wp-content/uploads/2026/06/image-13-300x52.png 300w" sizes="auto, (max-width: 355px) 100vw, 355px" /></figure>



<p class="wp-block-paragraph">Buka file welcome.blade.php</p>



<p class="wp-block-paragraph">Bagian isinya terlihat seperti ini:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="833" height="311" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-14.png" alt="" class="wp-image-1865" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-14.png 833w, https://www.foxdevelop.com/wp-content/uploads/2026/06/image-14-300x112.png 300w, https://www.foxdevelop.com/wp-content/uploads/2026/06/image-14-768x287.png 768w" sizes="auto, (max-width: 833px) 100vw, 833px" /></figure>



<p class="wp-block-paragraph">Terasa familiar kan? Ini adalah kode PHP milikmu. Mari kita coba ubah sedikit</p>



<p class="wp-block-paragraph">Cari bagian subjudul:</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"subtitle"</span>&gt;</span>Your app is ready.<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span></code></span></pre>


<p class="wp-block-paragraph">Tambahkan satu kalimat di bagian akhir:</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">p</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"subtitle"</span>&gt;</span>Your app is ready.welcome to foxdevelop.com<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span></code></span></pre>


<p class="wp-block-paragraph">Simpan file lalu refresh halaman http://127.0.0.1:8000/</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="472" height="570" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-15.png" alt="" class="wp-image-1866" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/image-15.png 472w, https://www.foxdevelop.com/wp-content/uploads/2026/06/image-15-248x300.png 248w" sizes="auto, (max-width: 472px) 100vw, 472px" /></figure>



<p class="wp-block-paragraph">Kamu bisa melihat subjudul antarmuka sudah berubah sesuai teks yang kamu edit. Silakan coba sendiri. NativePHP tidak membatasi teknologi frontend apapun, kamu bebas menggunakan tools atau framework apapun seperti Livewire, Vue, React, Svelte, HTMX bahkan jQuery.</p>



<p class="wp-block-paragraph">Pada pelajaran ini, cari dulu folder resources dan coba edit file di dalamnya untuk memahami struktur teknis NativePHP. Nanti kita akan bahas secara mendalam semua hal terkait antarmuka ini.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/07/04/3237/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pengenalan &#038; Pengaturan NativePHP untuk Desktop</title>
		<link>https://www.foxdevelop.com/id/2026/06/09/pengenalan-pengaturan-nativephp-untuk-desktop/</link>
					<comments>https://www.foxdevelop.com/id/2026/06/09/pengenalan-pengaturan-nativephp-untuk-desktop/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Tue, 09 Jun 2026 00:53:33 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=1652</guid>

					<description><![CDATA[Ini adalah kerangka kerja baru yang dirancang untuk membuat aplikasi desktop asli. Baik Anda pengembang berpengalaman maupun pemula, Anda akan merasa mengembangkan aplikasi dengan NativePHP sangatlah mudah. Semakin banyak pengembang di seluruh dunia yang mulai menggunakan ]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Ini adalah kerangka kerja baru yang dirancang untuk membuat aplikasi desktop asli. Baik Anda pengembang berpengalaman maupun pemula, Anda akan merasa mengembangkan aplikasi dengan NativePHP sangatlah mudah. Semakin banyak pengembang di seluruh dunia yang mulai menggunakan teknologi ini setiap harinya. Untuk membuat perangkat lunak desktop asli menggunakan PHP, Anda akan menggunakan alat inti yang sudah Anda kuasai: HTML, CSS, JavaScript dan PHP itu sendiri.</p>



<p class="wp-block-paragraph"><strong>Mengapa memilih PHP?</strong></p>



<p class="wp-block-paragraph">PHP adalah bahasa pemrograman yang sangat matang dengan pengembangan selama lebih dari tiga puluh tahun dan terus ditingkatkan seiring penggunaan di lingkungan nyata. Bahasa ini mendukung sebagian besar situs web di internet. WordPress, alat pembuat situs sumber terbuka paling populer di dunia, merupakan pencapaian terbesar PHP. Dulu hanya terbatas pada pengembangan web, kini PHP telah berkembang ke pembuatan aplikasi desktop dan seluler berkat proyek seperti NativePHP.</p>



<p class="wp-block-paragraph"><strong>Apa sebenarnya NativePHP?</strong></p>



<ul class="wp-block-list">
<li>Kumpulan pustaka praktis yang memungkinkan kode PHP berinteraksi dengan lancar bersama sistem operasi dasar.</li>



<li>Berbagai alat bantu untuk mengompilasi dan mengemas hasil build aplikasi asli yang telah selesai dibuat.</li>



<li>Lingkungan eksekusi PHP statis yang mandiri. Aplikasi yang telah dikemas dapat berjalan di mana saja tanpa pengguna perlu memasang lingkungan eksekusi tambahan secara manual.</li>
</ul>



<p class="wp-block-paragraph"><strong>Apa itu Laravel?</strong></p>



<p class="wp-block-paragraph">Laravel adalah kerangka kerja PHP yang sangat populer. Secara sederhana, kerangka kerja adalah struktur pengembangan yang sudah dibuat menggunakan PHP. Menggunakannya akan menghindari penulisan ulang kode dasar yang berulang dan mempercepat proses pengembangan secara signifikan.</p>



<p class="wp-block-paragraph">Berbeda dengan kebanyakan kerangka kerja pengembangan desktop dan seluler umumnya, NativePHP <strong>bukanlah kerangka kerja antarmuka asli</strong>. Ia tidak menampilkan elemen kendali antarmuka sistem operasi secara langsung, melainkan berjalan di atas mesin peramban web yang tertanam. Berkat desain ini, Anda bebas menggunakan tumpukan teknologi frontend apapun: HTML &amp; CSS murni, React, Vue, Tailwind CSS, Bootstrap maupun Material UI semuanya didukung sepenuhnya.</p>



<p class="wp-block-paragraph">NativePHP dilengkapi dengan berbagai fitur bawaan yang memenuhi kebutuhan umum:</p>



<ul class="wp-block-list">
<li>Manajemen jendela asli</li>



<li>Kontrol menu sistem dan menu aplikasi</li>



<li>Operasi pada sistem berkas lokal</li>



<li>Integrasi basis data SQLite bawaan</li>



<li>Notifikasi dorong asli untuk desktop</li>
</ul>



<p class="wp-block-paragraph"><strong>Jenis aplikasi apa saja yang dapat dikembangkan dengan NativePHP?</strong></p>



<p class="wp-block-paragraph">Hampir semua hal yang dapat Anda bayangkan. Penjadwal tugas, alat perekam layar dan berbagai utilitas desktop lainnya merupakan proyek yang dapat diwujudkan.</p>



<p class="wp-block-paragraph">NativePHP untuk desktop <strong>siap digunakan secara komersial di lingkungan produksi</strong>.</p>



<h3 class="wp-block-heading">Pengaturan &amp; Pemasangan</h3>



<p class="wp-block-paragraph">Pastikan lingkungan lokal Anda memenuhi semua syarat berikut:</p>



<ol class="wp-block-list">
<li><a href="https://www.foxdevelop.com/2026/05/27/%e5%ae%89%e8%a3%85php%e7%8e%af%e5%a2%83/">PHP 8.3 atau versi yang lebih baru</a></li>



<li><a href="https://www.foxdevelop.com/2026/05/27/nativephp%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b-laravel%e7%9a%84%e5%ae%89%e8%a3%85/">Laravel 11 atau versi yang lebih baru</a></li>



<li><a href="https://nodejs.org/">Node.js 22 atau versi yang lebih baru</a></li>



<li>Windows 10 ke atas, macOS 12 ke atas atau distribusi Linux utama manapun</li>



<li><a href="https://www.foxdevelop.com/2026/05/27/%e5%ae%89%e8%a3%85php%e7%9a%84%e5%8c%85%e7%ae%a1%e7%90%86%e5%99%a8composer/">Composer</a></li>
</ol>



<p class="wp-block-paragraph"><strong>Tentang PHP &amp; Node.js</strong></p>



<p class="wp-block-paragraph">Agar proses pengembangan berjalan lancar, pasanglah PHP dan Node.js secara langsung di perangkat pengembangan lokal Anda.</p>



<p class="wp-block-paragraph"><strong>Mengapa Node.js dibutuhkan?</strong></p>



<p class="wp-block-paragraph">NativePHP untuk desktop dibangun di atas <strong>Electron</strong>, yang sepenuhnya bergantung pada <strong>Node.js dan npm</strong> untuk memasang dependensi frontend serta mengemas sumber daya akhir aplikasi.</p>



<p class="wp-block-paragraph">Pemasangan Node.js sangat mudah: kunjungi situs resmi, unduh penginstal lalu ikuti panduan pengaturan standar seperti aplikasi desktop pada umumnya.</p>



<p class="wp-block-paragraph">Atur lingkungan pengembangan Anda sesuai daftar di atas. Di bagian selanjutnya, kita akan mulai membuat aplikasi desktop pertama menggunakan NativePHP.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="541" height="358" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/20260602104217.png" alt="" class="wp-image-266" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/20260602104217.png 541w, https://www.foxdevelop.com/wp-content/uploads/2026/06/20260602104217-300x199.png 300w" sizes="auto, (max-width: 541px) 100vw, 541px" /></figure>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/06/09/pengenalan-pengaturan-nativephp-untuk-desktop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Buat Proyek Pertama Anda dengan NativePHP</title>
		<link>https://www.foxdevelop.com/id/2026/06/09/buat-proyek-pertama-anda-dengan-nativephp/</link>
					<comments>https://www.foxdevelop.com/id/2026/06/09/buat-proyek-pertama-anda-dengan-nativephp/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Tue, 09 Jun 2026 00:37:04 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=1624</guid>

					<description><![CDATA[Halo semuanya, jika Anda sampai di bagian ini, saya yakin Anda sudah mempelajari materi sebelumnya. Jika belum, silakan kembali dan baca panduan kami terlebih dahulu]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Halo semuanya, jika Anda sampai di bagian ini, saya yakin Anda sudah mempelajari materi sebelumnya. Jika belum, silakan kembali dan baca panduan kami terlebih dahulu: <a href="https://www.foxdevelop.com/2026/05/27/nativephp%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b-laravel%e7%9a%84%e5%ae%89%e8%a3%85/">Memulai NativePHP – Menginstal Laravel – FoxDevelop</a>. Sekarang kita akan membuat proyek pertama kita secara bertahap.</p>



<p class="wp-block-paragraph">Kita akan memulai dari awal dan menyiapkan proyek baru:</p>



<p class="wp-block-paragraph">Buat folder kosong di PC Anda untuk menyimpan berkas proyek, contoh: D:\phpproject</p>



<p class="wp-block-paragraph">Buka CMD langsung ke direktori ini: ketik cmd di bilah alamat folder lalu tekan Enter; jendela perintah akan terbuka dan berpindah jalur secara otomatis.</p>



<p class="wp-block-paragraph">Jalankan perintah di bawah ini:</p>


<pre class="wp-block-code"><span><code class="hljs">composer create-project --prefer-dist nativephp/mobile-starter my-app
cd my-app
php artisan native:jump</code></span></pre>


<h3 class="wp-block-heading">Catatan singkat pemecahan masalah (lewati bagian ini jika Anda menggunakan PHP 8.3)</h3>


<pre class="wp-block-code"><span><code class="hljs language-javascript">composer create-project --prefer-dist nativephp/mobile-starter my-app
Creating a <span class="hljs-string">"nativephp/mobile-starter"</span> project at <span class="hljs-string">"./my-app"</span>
Installing nativephp/mobile-starter (<span class="hljs-number">1.0</span><span class="hljs-number">.4</span>)
  - Downloading nativephp/mobile-starter (<span class="hljs-number">1.0</span><span class="hljs-number">.4</span>)
  - Installing nativephp/mobile-starter (<span class="hljs-number">1.0</span><span class="hljs-number">.4</span>): Extracting archive
Created project <span class="hljs-keyword">in</span> D:\phpproject\my-app
&gt; @php -r <span class="hljs-string">"file_exists('.env') || copy('.env.example', '.env');"</span>
Loading composer repositories <span class="hljs-keyword">with</span> package information
Updating dependencies
Your requirements could not be resolved to an installable <span class="hljs-keyword">set</span> of packages.

  Problem 1
    - Root composer.json requires nativephp/mobile ^3.0 -&gt; satisfiable by nativephp/mobile&#91;3.0.0, ..., 3.3.5].
    - nativephp/mobile&#91;3.0.0, ..., 3.3.5] require php ^8.3 -&gt; your php version (8.2.31) does not satisfy that requirement.</code></span></pre>


<p class="wp-block-paragraph">Kesalahan ini muncul karena PHP lokal Anda berversi 8.2; Anda perlu memperbarui ke PHP 8.3 untuk melanjutkan.</p>



<p class="wp-block-paragraph"><a href="https://windows.php.net/download#php-8.3">https://windows.php.net/download#php-8.3</a></p>



<p class="wp-block-paragraph">Kunjungi halaman tersebut untuk mengunduh PHP 8.3. Pengguna Windows 64-bit bisa langsung mengunduh paket di bawah ini:</p>



<p class="wp-block-paragraph"><a href="https://downloads.php.net/~windows/releases/archives/php-8.3.31-nts-Win32-vs16-x64.zip">https://downloads.php.net/~windows/releases/archives/php-8.3.31-nts-Win32-vs16-x64.zip</a></p>



<p class="wp-block-paragraph">Setelah selesai mengunduh, ekstrak semua berkas ke D:\php8.3. Anda bisa memilih jalur folder lain, pastikan hanya menggunakan karakter bahasa Inggris.</p>



<p class="wp-block-paragraph">Setelah ekstraksi, ganti nama berkas konfigurasi:<br>Ubah php.ini-development menjadi php.ini</p>



<p class="wp-block-paragraph">Buka berkas php.ini dan hapus tanda titik koma di awal baris untuk menghapus komentar;</p>



<p class="wp-block-paragraph"><strong>Hapus tanda titik koma pada semua daftar di bawah (langkah penting):</strong></p>



<ol class="wp-block-list">
<li></li>
</ol>


<pre class="wp-block-code"><span><code class="hljs language-javascript">extension_dir = <span class="hljs-string">"ext"</span>
extension=curl
extension=gd
extension=mbstring
extension=mysqli
extension=pdo_mysql
extension=zip
extension=openssl
extension=fileinfo
extension=sqlite3
extension=pdo_sqlite</code></span></pre>


<p class="wp-block-paragraph">Perbarui variabel lingkungan sistem, ganti jalur lama D:\php8.2 dengan D:\php8.3.</p>



<p class="wp-block-paragraph">Verifikasi instalasi PHP dengan perintah php -v; jika versi sudah benar, lanjutkan penyiapan proyek.</p>



<h3 class="wp-block-heading">Melanjutkan pembuatan proyek NativePHP Mobile</h3>



<p class="wp-block-paragraph">Sekarang jalankan kembali perintah instalasi:</p>


<pre class="wp-block-code"><span><code class="hljs">composer create-project --prefer-dist nativephp/mobile-starter my-app
cd my-app</code></span></pre>


<p class="wp-block-paragraph">Instalasi yang berhasil tidak akan menampilkan pesan kesalahan berwarna merah di terminal.</p>



<p class="wp-block-paragraph">Untuk pengujian di ponsel fisik, hubungkan perangkat ke PC menggunakan kabel USB terlebih dahulu, lalu aktifkan Opsi Pengembang dan Debug USB di ponsel Anda.</p>



<p class="wp-block-paragraph">Gunakan perintah berikut untuk pengujian cepat di perangkat fisik (<strong>Memulai cepat di perangkat asli:</strong> Instal aplikasi Jump di ponsel, pindai kode QR untuk terhubung dan melakukan debug, tidak perlu mengompilasi APK secara penuh):</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">php</span> <span class="hljs-selector-tag">artisan</span> <span class="hljs-selector-tag">native</span><span class="hljs-selector-pseudo">:jump</span></code></span></pre>


<p class="wp-block-paragraph">Jika tidak memiliki perangkat ponsel fisik, gunakan perintah alternatif berikut untuk pengujian di emulator:</p>



<p class="wp-block-paragraph">php artisan native:serve : Untuk pratinjau desktop atau pengujian emulator (membuka jendela aplikasi mandiri di komputer)</p>



<p class="wp-block-paragraph">Jika semua berjalan normal, Anda akan melihat keluaran serupa di bawah setelah menjalankan php artisan native:jump</p>



<p class="wp-block-paragraph">php artisan native:jump</p>



<p class="wp-block-paragraph">Server NativePHP Jump</p>



<p class="wp-block-paragraph">Server Laravel ……………………………………………………………………. http://127.0.0.1:8000<br>Persiapan Laravel ………………………………………………………………… selesai dalam 0,42 detik (HTTP 200)</p>



<p class="wp-block-paragraph">Buka <a href="http://127.0.0.1:8000">http://127.0.0.1:8000</a> di browser untuk melihat konten aplikasi yang sedang berjalan.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="486" height="573" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/10.png" alt="" class="wp-image-257" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/05/10.png 486w, https://www.foxdevelop.com/wp-content/uploads/2026/05/10-254x300.png 254w" sizes="auto, (max-width: 486px) 100vw, 486px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/06/09/buat-proyek-pertama-anda-dengan-nativephp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Memulai Penggunaan NativePHP: Menginstal Laravel</title>
		<link>https://www.foxdevelop.com/id/2026/06/08/memulai-penggunaan-nativephp-menginstal-laravel/</link>
					<comments>https://www.foxdevelop.com/id/2026/06/08/memulai-penggunaan-nativephp-menginstal-laravel/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 13:02:55 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=1578</guid>

					<description><![CDATA[NativePHP membantu Anda tidak perlu menghabiskan waktu berjam-jam untuk mengatur Xcode atau Android Studio. Anda hanya perlu memasang aplikasi Jump di ponsel iOS atau Android.]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">NativePHP membantu Anda tidak perlu menghabiskan waktu berjam-jam untuk mengatur Xcode atau Android Studio. Anda hanya perlu memasang aplikasi Jump di ponsel iOS atau Android.</p>



<p class="wp-block-paragraph"><a href="https://laravel.com/">Laravel &#8211; Rangka kerja ringkas untuk pengembang</a></p>



<p class="wp-block-paragraph"><strong>Jalankan perintah berikut untuk membuat proyek Laravel baru</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">laravel <span class="hljs-keyword">new</span> my-app --using=nativephp/mobile-starter
 
cd my-app
 
php artisan native:jump</code></span></pre>


<p class="wp-block-paragraph">Catatan: Anda harus sudah menginstal Laravel terlebih dahulu sebelum menjalankan perintah di atas.</p>



<h5 class="wp-block-heading">Cara Menginstal <strong>Laravel</strong>?</h5>



<p class="wp-block-paragraph"><strong>Apa sebenarnya Laravel?</strong></p>



<p class="wp-block-paragraph">Laravel adalah kerangka kerja web PHP yang sangat populer dan mudah digunakan. Kerangka ini dilengkapi dengan alat bawaan untuk login &amp; pendaftaran pengguna, unggah berkas, pengiriman email, operasi basis data, dan validasi formulir. Laravel mampu mempercepat proses pengembangan aplikasi PHP secara signifikan.</p>



<p class="wp-block-paragraph">Karena Laravel berjalan di atas PHP, pastikan Anda telah memasang PHP terlebih dahulu. Perhatikan juga persyaratan versi; versi PHP yang sudah kedaluwarsa tidak dapat digunakan bersama <strong>Laravel</strong> terbaru.</p>



<p class="wp-block-paragraph"><strong>PHP ≥ 8.1</strong> (disarankan 8.2 ~ 8.4)</p>



<p class="wp-block-paragraph"><strong>Menginstal PHP</strong></p>



<p class="wp-block-paragraph">Lihat panduan lengkap saya untuk menginstal PHP:</p>



<p class="wp-block-paragraph"><a href="/2026/05/27/%e5%ae%89%e8%a3%85php%e7%8e%af%e5%a2%83/" target="_blank" rel="noreferrer noopener">Menginstal Lingkungan PHP – FoxDevelop</a></p>



<h5 class="wp-block-heading">Menginstal Composer</h5>



<p class="wp-block-paragraph">Composer berfungsi sebagai manajer paket untuk PHP, setara dengan NuGet pada .NET atau Maven/Gradle untuk Java.</p>



<p class="wp-block-paragraph">Lihat tutorial terpisah saya untuk langkah-langkah pemasangan Composer.</p>



<p class="wp-block-paragraph"><a href="https://www.foxdevelop.com/2026/05/27/%E5%AE%89%E8%A3%85php%E7%9A%84%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8composer/">Menginstal Manajer Paket PHP Composer – FoxDevelop</a></p>



<p class="wp-block-paragraph">Setelah PHP dan Composer siap digunakan, kita bisa lanjut menginstal Laravel.</p>



<p class="wp-block-paragraph">Buka CMD dan periksa versi perangkat lunak terlebih dahulu.</p>



<p class="wp-block-paragraph">Persyaratan versi PHP: <strong>PHP ≥ 8.1</strong> (disarankan 8.2 / 8.5), jalankan perintah php -v</p>



<p class="wp-block-paragraph">Persyaratan versi Composer: <strong>Composer ≥ 2.5</strong>, jalankan perintah composer -V</p>



<p class="wp-block-paragraph">Selanjutnya periksa ekstensi PHP yang dibutuhkan:</p>



<p class="wp-block-paragraph">php -m | findstr mbstring<br>php -m | findstr openssl<br>php -m | findstr pdo</p>



<p class="wp-block-paragraph">Pengguna di Tiongkok dapat beralih ke sumber cermin Alibaba untuk mengatasi kecepatan unduh yang lambat. Salin perintah ini ke dalam CMD:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">composer config -g repo.packagist composer https:<span class="hljs-comment">//mirrors.aliyun.com/composer/</span></code></span></pre>


<p class="wp-block-paragraph">Sekarang mulai proses pemasangan dengan perintah create-project:</p>


<pre class="wp-block-code"><span><code class="hljs">composer create-project laravel/laravel myproject
cd myproject</code></span></pre>


<p class="wp-block-paragraph"><strong><mark style="background-color:#cf2e2e" class="has-inline-color">Saya mengalami kesalahan karena ekstensi zip tidak terpasang pada langkah ini</mark></strong>. Jika pemasangan berjalan lancar, lewati bagian pemecahan masalah di bawah dan langsung menuju <a href="#again" data-type="internal" data-id="#again">halaman ini</a>.</p>



<p class="wp-block-paragraph">Pesan kesalahan yang muncul seperti berikut:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">C:\Users\xxxx&gt;composer create-project laravel/laravel myproject
Creating a <span class="hljs-string">"laravel/laravel"</span> project at <span class="hljs-string">"./myproject"</span>
Installing laravel/laravel (v12<span class="hljs-number">.10</span><span class="hljs-number">.0</span>)
    Failed to download laravel/laravel <span class="hljs-keyword">from</span> dist: The zip extension and unzip/<span class="hljs-number">7</span>z commands are both missing, skipping.
The php.ini used by your command-line PHP is: D:\php8<span class="hljs-number">.2</span>\php.ini
    Now trying to download <span class="hljs-keyword">from</span> source
  - Syncing laravel/laravel (v12<span class="hljs-number">.10</span><span class="hljs-number">.0</span>) into cache</code></span></pre>


<p class="wp-block-paragraph">Jalankan perintah pemeriksaan di CMD untuk memastikan ekstensi zip belum tersedia:</p>


<pre class="wp-block-code"><span><code class="hljs">php -m | findstr zip</code></span></pre>


<p class="wp-block-paragraph">Jika tidak ada hasil yang ditampilkan, berarti ekstensi zip masih dinonaktifkan.</p>



<h3 class="wp-block-heading">Mengedit php.ini untuk mengaktifkan ekstensi zip</h3>



<p class="wp-block-paragraph">Lokasi berkas konfigurasi PHP saya: <strong>D:\php8.2\php.ini</strong></p>



<p class="wp-block-paragraph">Cari baris <code>;extension=zip</code> dan hapus tanda titik koma di awal baris.</p>



<p class="wp-block-paragraph">Jalankan kembali perintah php -m | findstr zip di CMD; hasil yang valid menandakan ekstensi telah aktif.</p>



<p class="wp-block-paragraph" id="again">Coba lakukan pemasangan kembali</p>



<p class="wp-block-paragraph">Jalankan perintah pemasangan sekali lagi:</p>


<pre class="wp-block-code"><span><code class="hljs">composer create-project laravel/laravel myproject</code></span></pre>


<p class="wp-block-paragraph">Pemasangan kembali mengalami kegagalan dengan catatan log di bawah ini:</p>


<pre class="wp-block-code"><span><code class="hljs language-php">composer create-project laravel/laravel myproject
Creating a <span class="hljs-string">"laravel/laravel"</span> project at <span class="hljs-string">"./myproject"</span>
Installing laravel/laravel (v12<span class="hljs-number">.10</span><span class="hljs-number">.0</span>)
  - Downloading laravel/laravel (v12<span class="hljs-number">.10</span><span class="hljs-number">.0</span>)
    Failed downloading laravel/laravel, trying the next URL (<span class="hljs-number">404</span>: The <span class="hljs-string">"https://mirrors.aliyun.com/composer/dists/laravel/laravel/76396a056d552b8a34077f151775037ac44b431a.zip"</span> file could not be downloaded (HTTP/<span class="hljs-number">2</span> <span class="hljs-number">404</span> ))
  - Downloading laravel/laravel (v12<span class="hljs-number">.10</span><span class="hljs-number">.0</span>)
  - Installing laravel/laravel (v12<span class="hljs-number">.10</span><span class="hljs-number">.0</span>): Extracting archive
Created project in C:\Users\maiwu\myproject
&gt; @php -r <span class="hljs-string">"file_exists('.env') || copy('.env.example', '.env');"</span>
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem <span class="hljs-number">1</span>
    - Root composer.json requires laravel/tinker ^<span class="hljs-number">2.10</span><span class="hljs-number">.1</span>, it is satisfiable by laravel/tinker&#91;v2<span class="hljs-number">.10</span><span class="hljs-number">.1</span>, v2<span class="hljs-number">.10</span><span class="hljs-number">.2</span>, v2<span class="hljs-number">.11</span><span class="hljs-number">.0</span>, v2<span class="hljs-number">.11</span><span class="hljs-number">.1</span>] from composer repo (https:<span class="hljs-comment">//repo.packagist.org) but laravel/tinker&#91;2.x-dev] from composer repo (https://mirrors.aliyun.com/composer) has higher repository priority. The packages from the higher priority repository do not match your minimum-stability and are therefore not installable. That repository is canonical so the lower priority repo's packages are not installable. See https://getcomposer.org/repoprio for details and assistance.</span>
  Problem <span class="hljs-number">2</span>
    - Root composer.json requires phpunit/phpunit ^<span class="hljs-number">11.5</span><span class="hljs-number">.3</span>, found phpunit/phpunit&#91;<span class="hljs-number">11.5</span><span class="hljs-number">.3</span>, ..., <span class="hljs-number">11.5</span><span class="hljs-number">.44</span>] but these were not loaded, because they are affected by security advisories (<span class="hljs-string">"PKSA-z3gr-8qht-p93v"</span>, <span class="hljs-string">"PKSA-z3gr-8qht-p93v"</span>). Go to https:<span class="hljs-comment">//packagist.org/security-advisories/ to find advisory details. To ignore the advisories, add them to the audit "ignore" config. To turn the feature off entirely, you can set "block-insecure" to false in your "audit" config.</span>
  Problem <span class="hljs-number">3</span>
    - Root composer.json requires laravel/sail ^<span class="hljs-number">1.41</span> -&gt; satisfiable by laravel/sail&#91;v1<span class="hljs-number">.41</span><span class="hljs-number">.0</span>, ..., v1<span class="hljs-number">.46</span><span class="hljs-number">.0</span>].
    - laravel/sail&#91;v1<span class="hljs-number">.41</span><span class="hljs-number">.0</span>, ..., v1<span class="hljs-number">.46</span><span class="hljs-number">.0</span>] <span class="hljs-keyword">require</span> symfony/yaml ^<span class="hljs-number">6.0</span>|^<span class="hljs-number">7.0</span> -&gt; found symfony/yaml&#91;v6<span class="hljs-number">.0</span><span class="hljs-number">.0</span>, ..., v6<span class="hljs-number">.4</span><span class="hljs-number">.30</span>, v7<span class="hljs-number">.0</span><span class="hljs-number">.0</span>, ..., v7<span class="hljs-number">.4</span><span class="hljs-number">.1</span>] but these were not loaded, because they are affected by security advisories (<span class="hljs-string">"PKSA-v5yj-8nmz-sk2q"</span>, <span class="hljs-string">"PKSA-ft77-7h5f-p3r6"</span>, <span class="hljs-string">"PKSA-b14r-zh1d-vdrc"</span>, <span class="hljs-string">"PKSA-v5yj-8nmz-sk2q"</span>, <span class="hljs-string">"PKSA-ft77-7h5f-p3r6"</span>, <span class="hljs-string">"PKSA-b14r-zh1d-vdrc"</span>). Go to https:<span class="hljs-comment">//packagist.org/security-advisories/ to find advisory details. To ignore the advisories, add them to the audit "ignore" config. To turn the feature off entirely, you can set "block-insecure" to false in your "audit" config.</span>
  Problem <span class="hljs-number">4</span>
    - Root composer.json requires laravel/framework ^<span class="hljs-number">12.0</span> -&gt; satisfiable by laravel/framework&#91;v12<span class="hljs-number">.1</span><span class="hljs-number">.1</span>, ..., v12<span class="hljs-number">.40</span><span class="hljs-number">.0</span>].
    - laravel/framework&#91;v12<span class="hljs-number">.1</span><span class="hljs-number">.1</span>, ..., v12<span class="hljs-number">.12</span><span class="hljs-number">.0</span>] <span class="hljs-keyword">require</span> league/commonmark ^<span class="hljs-number">2.6</span> -&gt; found league/commonmark&#91;<span class="hljs-number">2.6</span><span class="hljs-number">.0</span>] but these were not loaded, because they are affected by security advisories (<span class="hljs-string">"PKSA-21fb-n1x5-5nf7"</span>, <span class="hljs-string">"PKSA-2cx9-ynrq-qdk3"</span>, <span class="hljs-string">"PKSA-rqc2-tcc6-nc79"</span>, <span class="hljs-string">"PKSA-21fb-n1x5-5nf7"</span>, <span class="hljs-string">"PKSA-2cx9-ynrq-qdk3"</span>, <span class="hljs-string">"PKSA-rqc2-tcc6-nc79"</span>). Go to https:<span class="hljs-comment">//packagist.org/security-advisories/ to find advisory details. To ignore the advisories, add them to the audit "ignore" config. To turn the feature off entirely, you can set "block-insecure" to false in your "audit" config.</span>
    - laravel/framework&#91;v12<span class="hljs-number">.13</span><span class="hljs-number">.0</span>, ..., v12<span class="hljs-number">.40</span><span class="hljs-number">.0</span>] <span class="hljs-keyword">require</span> league/commonmark ^<span class="hljs-number">2.7</span> -&gt; satisfiable by league/commonmark&#91;<span class="hljs-number">2.7</span><span class="hljs-number">.0</span>, ..., <span class="hljs-number">2.8</span><span class="hljs-number">.2</span>] from composer repo (https:<span class="hljs-comment">//repo.packagist.org) but league/commonmark&#91;dev-main, 2.7.x-dev, 2.8.x-dev, 2.9.x-dev (alias of dev-main)] from composer repo (https://mirrors.aliyun.com/composer) has higher repository priority. The packages from the higher priority repository do not match your minimum-stability and are therefore not installable. That repository is canonical so the lower priority repo's packages are not installable. See https://getcomposer.org/repoprio for details and assistance.</span></code></span></pre>


<p class="wp-block-paragraph">Penyebab: Sumber cermin Composer milik Alibaba tidak berfungsi dengan normal.</p>



<p class="wp-block-paragraph">Hapus folder proyek yang bermasalah terlebih dahulu, kemudian kembalikan ke sumber resmi:</p>


<pre class="wp-block-code"><span><code class="hljs language-php">rmdir /s /q myproject
composer config -g --<span class="hljs-keyword">unset</span> repos.packagist
composer create-project laravel/laravel myproject --no-audit</code></span></pre>


<p class="wp-block-paragraph">Pemasangan masih gagal, bersihkan sisa berkas sekali lagi:</p>


<pre class="wp-block-code"><span><code class="hljs language-php">- Downloading phpunit/php-code-coverage (<span class="hljs-number">11.0</span><span class="hljs-number">.12</span>)
  - Downloading phar-io/version (<span class="hljs-number">3.2</span><span class="hljs-number">.1</span>)
  - Downloading phar-io/manifest (<span class="hljs-number">2.0</span><span class="hljs-number">.4</span>)
  - Downloading myclabs/deep-copy (<span class="hljs-number">1.13</span><span class="hljs-number">.4</span>)
  - Downloading phpunit/phpunit (<span class="hljs-number">11.5</span><span class="hljs-number">.55</span>)
 <span class="hljs-number">110</span>/<span class="hljs-number">111</span> &#91;===========================&gt;]  <span class="hljs-number">99</span>%A connection timeout was encountered. <span class="hljs-keyword">If</span> you intend to run Composer without connecting to the internet, run the command again prefixed with COMPOSER_DISABLE_NETWORK=<span class="hljs-number">1</span> to make Composer run in offline mode.
    Failed to download laravel/pint from dist: The <span class="hljs-string">"https://codeload.github.com/laravel/pint/legacy.zip/0770e9b7fafd50d4586881d456d6eb41c9247a80"</span> file could not be written to C:\Users\maiwu\myproject/vendor/composer/tmp<span class="hljs-number">-60</span>f6b8b4815321558e13bb1ac74423ee.zip: Failed to open stream: Permission denied
    Now trying to download from source
  - Syncing laravel/pint (v1<span class="hljs-number">.29</span><span class="hljs-number">.1</span>) into cache
Cloning failed using an ssh key <span class="hljs-keyword">for</span> authentication, enter your GitHub credentials to access <span class="hljs-keyword">private</span> repos
You need to provide a GitHub access token.
Tokens will be stored in plain text in <span class="hljs-string">"C:/Users/maiwu/AppData/Roaming/Composer/auth.json"</span> <span class="hljs-keyword">for</span> future <span class="hljs-keyword">use</span> <span class="hljs-title">by</span> <span class="hljs-title">Composer</span>.
<span class="hljs-title">Due</span> <span class="hljs-title">to</span> <span class="hljs-title">the</span> <span class="hljs-title">security</span> <span class="hljs-title">risk</span> <span class="hljs-title">of</span> <span class="hljs-title">tokens</span> <span class="hljs-title">being</span> <span class="hljs-title">exfiltrated</span>, <span class="hljs-title">use</span> <span class="hljs-title">tokens</span> <span class="hljs-title">with</span> <span class="hljs-title">short</span> <span class="hljs-title">expiration</span> <span class="hljs-title">times</span> <span class="hljs-title">and</span> <span class="hljs-title">only</span> <span class="hljs-title">the</span> <span class="hljs-title">minimum</span> <span class="hljs-title">permissions</span> <span class="hljs-title">necessary</span>.

<span class="hljs-title">Carefully</span> <span class="hljs-title">consider</span> <span class="hljs-title">the</span> <span class="hljs-title">following</span> <span class="hljs-title">options</span> <span class="hljs-title">in</span> <span class="hljs-title">order</span>:

1. <span class="hljs-title">When</span> <span class="hljs-title">you</span> <span class="hljs-title">don</span>'<span class="hljs-title">t</span> <span class="hljs-title">use</span> '<span class="hljs-title">vcs</span>'  <span class="hljs-title">type</span> '<span class="hljs-title">repositories</span>'  <span class="hljs-title">in</span> <span class="hljs-title">composer</span>.<span class="hljs-title">json</span> <span class="hljs-title">and</span> <span class="hljs-title">do</span> <span class="hljs-title">not</span> <span class="hljs-title">need</span> <span class="hljs-title">to</span> <span class="hljs-title">clone</span> <span class="hljs-title">source</span> <span class="hljs-title">or</span> <span class="hljs-title">download</span> <span class="hljs-title">dist</span> <span class="hljs-title">files</span>
<span class="hljs-title">from</span> <span class="hljs-title">private</span> <span class="hljs-title">GitHub</span> <span class="hljs-title">repositories</span> <span class="hljs-title">over</span> <span class="hljs-title">HTTPS</span>, <span class="hljs-title">use</span> <span class="hljs-title">a</span> <span class="hljs-title">fine</span>-<span class="hljs-title">grained</span> <span class="hljs-title">token</span> <span class="hljs-title">with</span> <span class="hljs-title">read</span>-<span class="hljs-title">only</span> <span class="hljs-title">access</span> <span class="hljs-title">to</span> <span class="hljs-title">public</span> <span class="hljs-title">information</span>.
<span class="hljs-title">Use</span> <span class="hljs-title">the</span> <span class="hljs-title">following</span> <span class="hljs-title">URL</span> <span class="hljs-title">to</span> <span class="hljs-title">create</span> <span class="hljs-title">such</span> <span class="hljs-title">a</span> <span class="hljs-title">token</span>:
<span class="hljs-title">https</span>://<span class="hljs-title">github</span>.<span class="hljs-title">com</span>/<span class="hljs-title">settings</span>/<span class="hljs-title">personal</span>-<span class="hljs-title">access</span>-<span class="hljs-title">tokens</span>/<span class="hljs-title">new</span>?<span class="hljs-title">name</span>=<span class="hljs-title">Composer</span>+<span class="hljs-title">on</span>+<span class="hljs-title">DESKTOP</span>-1<span class="hljs-title">OHC5Q4</span>+2026-05-27+0946

2. <span class="hljs-title">When</span> <span class="hljs-title">all</span> <span class="hljs-title">relevant</span> <span class="hljs-title">_private_</span> <span class="hljs-title">GitHub</span> <span class="hljs-title">repositories</span> <span class="hljs-title">belong</span> <span class="hljs-title">to</span> <span class="hljs-title">a</span> <span class="hljs-title">single</span> <span class="hljs-title">user</span> <span class="hljs-title">or</span> <span class="hljs-title">organisation</span>, <span class="hljs-title">use</span> <span class="hljs-title">a</span> <span class="hljs-title">fine</span>-<span class="hljs-title">grained</span> <span class="hljs-title">token</span> <span class="hljs-title">with</span>
<span class="hljs-title">repository</span> "<span class="hljs-title">content</span>" <span class="hljs-title">read</span>-<span class="hljs-title">only</span> <span class="hljs-title">permissions</span>. <span class="hljs-title">You</span> <span class="hljs-title">can</span> <span class="hljs-title">start</span> <span class="hljs-title">with</span> <span class="hljs-title">the</span> <span class="hljs-title">following</span> <span class="hljs-title">URL</span>, <span class="hljs-title">but</span> <span class="hljs-title">you</span> <span class="hljs-title">may</span> <span class="hljs-title">need</span> <span class="hljs-title">to</span> <span class="hljs-title">change</span> <span class="hljs-title">the</span> <span class="hljs-title">resource</span> <span class="hljs-title">owner</span>
<span class="hljs-title">to</span> <span class="hljs-title">the</span> <span class="hljs-title">right</span> <span class="hljs-title">user</span> <span class="hljs-title">or</span> <span class="hljs-title">organisation</span>. <span class="hljs-title">Additionally</span>, <span class="hljs-title">you</span> <span class="hljs-title">can</span> <span class="hljs-title">scope</span> <span class="hljs-title">permissions</span> <span class="hljs-title">down</span> <span class="hljs-title">to</span> <span class="hljs-title">apply</span> <span class="hljs-title">only</span> <span class="hljs-title">to</span> <span class="hljs-title">selected</span> <span class="hljs-title">repositories</span>.
<span class="hljs-title">https</span>://<span class="hljs-title">github</span>.<span class="hljs-title">com</span>/<span class="hljs-title">settings</span>/<span class="hljs-title">personal</span>-<span class="hljs-title">access</span>-<span class="hljs-title">tokens</span>/<span class="hljs-title">new</span>?<span class="hljs-title">contents</span>=<span class="hljs-title">read</span>&amp;<span class="hljs-title">name</span>=<span class="hljs-title">Composer</span>+<span class="hljs-title">on</span>+<span class="hljs-title">DESKTOP</span>-1<span class="hljs-title">OHC5Q4</span>+2026-05-27+0946

3. <span class="hljs-title">A</span> "<span class="hljs-title">classic</span>" <span class="hljs-title">token</span> <span class="hljs-title">grants</span> <span class="hljs-title">broad</span> <span class="hljs-title">permissions</span> <span class="hljs-title">on</span> <span class="hljs-title">your</span> <span class="hljs-title">behalf</span> <span class="hljs-title">to</span> <span class="hljs-title">all</span> <span class="hljs-title">repositories</span> <span class="hljs-title">accessible</span> <span class="hljs-title">by</span> <span class="hljs-title">you</span>.
<span class="hljs-title">This</span> <span class="hljs-title">may</span> <span class="hljs-title">include</span> <span class="hljs-title">write</span> <span class="hljs-title">permissions</span>, <span class="hljs-title">even</span> <span class="hljs-title">though</span> <span class="hljs-title">not</span> <span class="hljs-title">needed</span> <span class="hljs-title">by</span> <span class="hljs-title">Composer</span>. <span class="hljs-title">Use</span> <span class="hljs-title">it</span> <span class="hljs-title">only</span> <span class="hljs-title">when</span> <span class="hljs-title">you</span> <span class="hljs-title">need</span> <span class="hljs-title">to</span> <span class="hljs-title">access</span>
<span class="hljs-title">private</span> <span class="hljs-title">repositories</span> <span class="hljs-title">across</span> <span class="hljs-title">multiple</span> <span class="hljs-title">organisations</span> <span class="hljs-title">at</span> <span class="hljs-title">the</span> <span class="hljs-title">same</span> <span class="hljs-title">time</span> <span class="hljs-title">and</span> <span class="hljs-title">using</span> <span class="hljs-title">directory</span>-<span class="hljs-title">specific</span> <span class="hljs-title">authentication</span> <span class="hljs-title">sources</span>
<span class="hljs-title">is</span> <span class="hljs-title">not</span> <span class="hljs-title">an</span> <span class="hljs-title">option</span>. <span class="hljs-title">You</span> <span class="hljs-title">can</span> <span class="hljs-title">generate</span> <span class="hljs-title">a</span> <span class="hljs-title">classic</span> <span class="hljs-title">token</span> <span class="hljs-title">here</span>:
<span class="hljs-title">https</span>://<span class="hljs-title">github</span>.<span class="hljs-title">com</span>/<span class="hljs-title">settings</span>/<span class="hljs-title">tokens</span>/<span class="hljs-title">new</span>?<span class="hljs-title">scopes</span>=<span class="hljs-title">repo</span>&amp;<span class="hljs-title">description</span>=<span class="hljs-title">Composer</span>+<span class="hljs-title">on</span>+<span class="hljs-title">DESKTOP</span>-1<span class="hljs-title">OHC5Q4</span>+2026-05-27+0946

<span class="hljs-title">For</span> <span class="hljs-title">additional</span> <span class="hljs-title">information</span>, <span class="hljs-title">check</span> <span class="hljs-title">https</span>://<span class="hljs-title">getcomposer</span>.<span class="hljs-title">org</span>/<span class="hljs-title">doc</span>/<span class="hljs-title">articles</span>/<span class="hljs-title">authentication</span>-<span class="hljs-title">for</span>-<span class="hljs-title">private</span>-<span class="hljs-title">packages</span>.<span class="hljs-title">md</span>#<span class="hljs-title">github</span>-<span class="hljs-title">oauth</span>
<span class="hljs-title">Token</span> (<span class="hljs-title">hidden</span>):</code></span></pre>


<p class="wp-block-paragraph">Selanjutnya jalankan perintah pemasangan yang telah diperbaiki:</p>



<p class="wp-block-paragraph"></p>


<pre class="wp-block-code"><span><code class="hljs">composer create-project laravel/laravel myproject --no-dev --no-audit</code></span></pre>


<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Pasang Laravel tanpa permintaan token GitHub dan dependensi tambahan:<br>Tambahkan parameter &#8211;no-dev dan &#8211;no-audit untuk melewati paket pint/phpunit yang memicu pengunduhan kode sumber dari GitHub:</p>



<p class="wp-block-paragraph">Pemasangan berhasil jika Anda melihat tampilan yang serupa dengan ini:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">- Installing league/commonmark (<span class="hljs-number">2.8</span><span class="hljs-number">.2</span>): Extracting archive
  - Installing laravel/framework (v12<span class="hljs-number">.61</span><span class="hljs-number">.0</span>): Extracting archive
<span class="hljs-number">75</span> package suggestions were added by <span class="hljs-keyword">new</span> dependencies, use <span class="hljs-string">`composer suggest`</span> to see details.
Package sebastian/code-unit is abandoned, you should avoid using it. No replacement was suggested.
Package sebastian/code-unit-reverse-lookup is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
&gt; Illuminate\Foundation\ComposerScripts::postAutoloadDump
&gt; @php artisan package:discover --ansi

   INFO  Discovering packages.

  laravel/tinker .............................................................................................................................. DONE
  nesbot/carbon ............................................................................................................................... DONE
  nunomaduro/termwind ......................................................................................................................... DONE</code></span></pre>


<p class="wp-block-paragraph">Sekarang kita akan menguji proyek yang baru dibuat. Perintah sebelumnya akan membuat folder myproject yang berisi seluruh berkas kode sumber.</p>



<p class="wp-block-paragraph">Tetap buka jendela CMD yang ada dan jalankan dua baris perintah berikut:</p>


<pre class="wp-block-code"><span><code class="hljs">cd myproject
php artisan serve</code></span></pre>


<p class="wp-block-paragraph">Tampilan jendela CMD akan seperti ini:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">C:\Users\xxxx&gt;cd myproject
<span class="hljs-attr">C</span>:\Users\xxxx\myproject&gt;php artisan serve
   INFO  Server running on &#91;http:<span class="hljs-comment">//127.0.0.1:8000].</span>
   Press Ctrl+C to stop the server
</code></span></pre>


<p class="wp-block-paragraph">Salin alamat <a href="http://127.0.0.1:8000">http://127.0.0.1:8000</a> ke bilah alamat peramban untuk melihat halaman utama bawaan Laravel.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="995" height="455" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/9.png" alt="" class="wp-image-222"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/06/08/memulai-penggunaan-nativephp-menginstal-laravel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pasang Composer, pengelola paket untuk PHP</title>
		<link>https://www.foxdevelop.com/id/2026/06/08/pasang-composer-pengelola-paket-untuk-php/</link>
					<comments>https://www.foxdevelop.com/id/2026/06/08/pasang-composer-pengelola-paket-untuk-php/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 09:54:12 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=1541</guid>

					<description><![CDATA[Composer adalah pengelola paket resmi untuk PHP. Buka halaman ini di peramban Anda: ]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Composer adalah pengelola paket resmi untuk PHP.</p>



<p class="wp-block-paragraph">Buka halaman ini di peramban Anda: <a href="https://link.wtturl.cn/?target=https%3A%2F%2Fgetcomposer.org%2Fdownload%2F&amp;scene=im&amp;aid=582478&amp;lang=zh" target="_blank" rel="noreferrer noopener">https://getcomposer.org/download/</a>, cari bagian <strong>Windows Installer</strong> dan unduh berkas pemasang Composer-Setup.exe.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="909" height="164" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/20260527165519.png" alt="" class="wp-image-212"/></figure>



<p class="wp-block-paragraph">Klik kanan pada berkas pemasang dan jalankan sebagai administrator.</p>



<p class="wp-block-paragraph">Pemasang akan mendeteksi folder PHP secara otomatis selama proses penyiapan. Jika jalur tidak ditemukan, pilih direktori PHP secara manual.</p>



<p class="wp-block-paragraph">Biarkan kotak centang tidak terisi, lalu terus klik Berikutnya dengan pengaturan bawaan.</p>


]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/06/08/pasang-composer-pengelola-paket-untuk-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Menyiapkan lingkungan PHP</title>
		<link>https://www.foxdevelop.com/id/2026/06/08/menyiapkan-lingkungan-php/</link>
					<comments>https://www.foxdevelop.com/id/2026/06/08/menyiapkan-lingkungan-php/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 09:30:33 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=1513</guid>

					<description><![CDATA[Pertama, unduh PHP dari halaman unduhan resmi: PHP 8.2</strong> (versi yang disarankan) lalu unduh paket ZIP]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph"><strong>Menginstal PHP</strong></p>



<p class="wp-block-paragraph">Pertama, unduh PHP dari halaman unduhan resmi: <a href="https://windows.php.net/download/">https://windows.php.net/download/</a></p>



<p class="wp-block-paragraph">Pilih <strong>PHP 8.2</strong> (versi yang disarankan) lalu unduh paket ZIP.</p>



<p class="wp-block-paragraph">Anda bisa langsung mengakses tautan unduhan ini: <a href="https://www.php.net/downloads.php?os=windows&amp;osvariant=windows-downloads&amp;version=8.2">PHP: Unduhan</a></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="765" height="180" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/20260527162530.png" alt="" class="wp-image-201"/></figure>



<p class="wp-block-paragraph">Gulir halaman ke bawah dan klik opsi unduhan <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">zip</mark>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="742" height="437" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/20260527162648.png" alt="" class="wp-image-203"/></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Mengapa melewatkan PHP 8.5? Hingga tahun 2026, versi PHP yang lebih baru mungkin mengalami masalah kompatibilitas dengan Laravel. Untuk keperluan pembelajaran, kombinasi <strong>PHP 8.2</strong> dan <strong>Laravel 12</strong> adalah yang paling ideal. Kombinasi ini stabil, jarang mengalami kesalahan, dan banyak panduan yang tersedia secara online. Saat Anda menyelesaikan kursus ini, PHP 8.5 kemungkinan sudah matang, jadi sesuaikan versi sesuai kondisi Anda.</p>
</blockquote>



<p class="wp-block-paragraph">Setelah unduhan selesai, ekstrak berkas php-8.2.31-nts-Win32-vs16-x64.zip dan mulai proses penyiapan.</p>



<p class="wp-block-paragraph">Ekstrak <code>php-8.2.31-nts-Win32-vs16-x64.zip</code> ke jalur berkas yang pendek tanpa spasi atau karakter khusus, contoh: D:\php8.2</p>



<p class="wp-block-paragraph">Buka folder hasil ekstraksi. Anda akan menemukan dua berkas konfigurasi untuk lingkungan pengembangan dan lingkungan produksi.</p>



<p class="wp-block-paragraph">Cari kedua berkas berikut:</p>



<ul class="wp-block-list">
<li><code>php.ini-development</code> (untuk pengembangan lokal)</li>



<li><code>php.ini-production</code> (untuk server aktif, jangan diubah untuk sementara)</li>
</ul>



<p class="wp-block-paragraph">Buat salinan cadangan dari <code>php.ini-development</code>, lalu ganti nama salah satu salinan menjadi php.ini.</p>



<p class="wp-block-paragraph">Buka php.ini menggunakan Notepad dan ubah beberapa pengaturan.</p>



<ul class="wp-block-list">
<li>Cari baris ;extension_dir = &#8220;ext&#8221; dan hapus tanda titik koma di awal;</li>
</ul>



<ul class="wp-block-list">
<li>Aktifkan semua ekstensi yang dibutuhkan Laravel dengan menghapus tanda titik koma di depan setiap baris:</li>
</ul>


<pre class="wp-block-code"><span><code class="hljs">extension=curl
extension=fileinfo
extension=mbstring
extension=openssl
extension=pdo_mysql</code></span></pre>


<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="733" height="391" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/20260527163743.png" alt="" class="wp-image-204"/></figure>



<p class="wp-block-paragraph">Simpan berkas php.ini yang telah diubah.</p>



<p class="wp-block-paragraph">Langkah penting: tambahkan direktori D:\php8.2 ke variabel lingkungan sistem.</p>



<p class="wp-block-paragraph">Cari variabel lingkungan dari Menu Mulai dan edit bagian Path.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="520" height="560" src="https://www.foxdevelop.com/wp-content/uploads/2026/06/20260605103002.png" alt="" class="wp-image-432" srcset="https://www.foxdevelop.com/wp-content/uploads/2026/06/20260605103002.png 520w, https://www.foxdevelop.com/wp-content/uploads/2026/06/20260605103002-279x300.png 279w" sizes="auto, (max-width: 520px) 100vw, 520px" /></figure>



<p class="wp-block-paragraph">Sekarang verifikasi pemasangan PHP dengan membuka jendela CMD biasa.</p>



<p class="wp-block-paragraph">Jalankan perintah berikut: php -v</p>


<pre class="wp-block-code"><span><code class="hljs">php -v</code></span></pre>


<p class="wp-block-paragraph">Jika informasi versi PHP muncul di layar, berarti pemasangan telah berhasil.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="594" height="111" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/20260527164442.png" alt="" class="wp-image-208"/></figure>



<p class="wp-block-paragraph">Tampilan di atas membuktikan bahwa PHP telah terpasang dengan benar di komputer Anda.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/06/08/menyiapkan-lingkungan-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Memulai NativePHP: Tinjauan Awal</title>
		<link>https://www.foxdevelop.com/id/2026/06/07/memulai-nativephp-tinjauan-awal/</link>
					<comments>https://www.foxdevelop.com/id/2026/06/07/memulai-nativephp-tinjauan-awal/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Sun, 07 Jun 2026 10:36:51 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=1318</guid>

					<description><![CDATA[Secara harfiah, NativePHP berarti PHP asli, yaitu aplikasi PHP yang berjalan secara lokal. Selama ini, PHP selalu dikaitkan dengan pengembangan web, di mana seluruh kode dijalankan di server jarak jauh. NativePHP mengubah sepenuhnya konfigurasi tersebut.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Secara harfiah, NativePHP berarti PHP asli, yaitu aplikasi PHP yang berjalan secara lokal. Selama ini, PHP selalu dikaitkan dengan pengembangan web, di mana seluruh kode dijalankan di server jarak jauh. NativePHP mengubah sepenuhnya konfigurasi tersebut. Kini pengembang dapat menggunakannya untuk membuat perangkat lunak desktop asli serta aplikasi seluler untuk Android dan iOS.</p>



<p class="wp-block-paragraph">Anda dapat mengunjungi situs resminya di sini：<a href="https://nativephp.com/">Baking Delicious Native Apps &#8211; NativePHP</a></p>



<p class="wp-block-paragraph"><strong>Bagaimana cara kerja NativePHP?</strong></p>



<p class="wp-block-paragraph">Cara kerjanya tidak rumit, dan konsep dasarnya sama dengan banyak aplikasi lainnya. PHP biasa bergantung pada penerjemah yang dihosting di server jarak jauh. NativePHP menggabungkan runtime PHP langsung ke dalam berkas EXE akhir atau berkas pemasangan aplikasi. Tim pengembang proyek juga telah menyempurnakan runtime yang disertakan untuk meningkatkan performa.</p>



<p class="wp-block-paragraph"><strong>Berikut adalah diagram resmi:</strong></p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" src="https://www.foxdevelop.com/wp-content/uploads/2026/05/2026-05-25_205955.png" alt="" class="wp-image-65"/></figure>



<p class="wp-block-paragraph">NativePHP menggabungkan seluruh runtime PHP dengan aplikasi Anda. Aplikasi seluler akan dibungkus menggunakan Swift atau Kotlin, sedangkan perangkat lunak desktop menggunakan Electron. Platform ini menggunakan koneksi jembatan khusus untuk mengakses fitur perangkat keras dan menampilkan antarmuka aplikasi melalui WebView asli bawaan. Anda tetap dapat menulis kode dengan PHP biasa, cukup tambahkan beberapa ekstensi untuk terhubung dengan fungsi asli perangkat. Konsepnya sangat sederhana: semua kode PHP Anda berjalan secara langsung di perangkat pengguna.</p>



<p class="wp-block-paragraph">Lihat diagram di sebelah kiri, setiap aplikasi NativePHP dibungkus dengan kode shell Swift atau Kotlin, dengan runtime PHP lengkap dan ekstensi PHP kustom di dalamnya.</p>



<p class="wp-block-paragraph">Ekstensi PHP kustom yang tertera pada diagram adalah komponen utama yang memungkinkan PHP mengakses fitur asli sistem. Secara dasar, ini adalah plugin PHP buatan khusus untuk NativePHP. Ekstensi ini menerima permintaan dari PHP dan meneruskannya ke kode jembatan Swift atau Kotlin di bawahnya untuk menjalankan perintah sistem sebenarnya. Data yang dikirimkan kembali oleh sistem akan dikembalikan ke PHP melalui ekstensi yang sama.</p>



<p class="wp-block-paragraph">Ekstensi kustom ini sangat penting. Tanpanya, NativePHP tidak akan berfungsi dan kita tidak dapat membuat aplikasi lokal menggunakan PHP sama sekali.</p>



<p class="wp-block-paragraph">Pengguna melihat seluruh konten melalui Native WebView, mesin peramban ringan yang tertanam di dalam aplikasi untuk memuat halaman PHP dan HTML. Ini bukan versi lengkap Chrome, melainkan hanya komponen peramban yang dikemas ke dalam aplikasi jadi.</p>



<p class="wp-block-paragraph">Sekarang Anda sudah memahami dasar-dasar NativePHP. Kita akan mulai dengan mempelajari cara membuat aplikasi seluler, kemudian lanjut ke pengembangan desktop di kemudian hari.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/06/07/memulai-nativephp-tinjauan-awal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dasar NativePHP: Pengantar NativePHP untuk Seluler</title>
		<link>https://www.foxdevelop.com/id/2026/06/07/dasar-nativephp-pengantar-nativephp-untuk-seluler/</link>
					<comments>https://www.foxdevelop.com/id/2026/06/07/dasar-nativephp-pengantar-nativephp-untuk-seluler/#respond</comments>
		
		<dc:creator><![CDATA[jack]]></dc:creator>
		<pubDate>Sun, 07 Jun 2026 09:09:28 +0000</pubDate>
				<category><![CDATA[NativePHP Panduan]]></category>
		<guid isPermaLink="false">https://www.foxdevelop.com/?p=1259</guid>

					<description><![CDATA[Pada pelajaran sebelumnya, kita telah membahas dasar-dasar NativePHP. Hari ini, kita akan melihat lebih dekat NativePHP untuk Seluler. Secara sederhana, pustaka ini dibuat khusus untuk membangun aplikasi seluler.]]></description>
										<content:encoded><![CDATA[

<p class="wp-block-paragraph">Pada pelajaran sebelumnya, kita telah membahas dasar-dasar NativePHP. Hari ini, kita akan melihat lebih dekat NativePHP untuk Seluler. Secara sederhana, pustaka ini dibuat khusus untuk membangun aplikasi seluler.</p>



<p class="wp-block-paragraph">Jika Anda sudah membuat kode dengan PHP, Anda tidak perlu mempelajari bahasa pemrograman yang benar-benar baru untuk membangun aplikasi asli penuh untuk iOS dan Android, dan itulah yang memungkinkan NativePHP untuk Seluler. Ini juga merupakan alat pertama jenisnya yang memungkinkan kode PHP lengkap berjalan secara asli pada perangkat keras seluler, tanpa memerlukan server web eksternal sama sekali.</p>



<p class="wp-block-paragraph">Alat ini mengemas runtime PHP yang telah dikompilasi sebelumnya bersama dengan kerangka Laravel langsung di dalam aplikasi akhir Anda. Ini juga membuat tautan mulus ke API sistem asli setiap platform, memungkinkan pengembang membangun perangkat lunak seluler asli yang asli menggunakan sintaks PHP yang familiar. Aplikasi yang dibangun dengan cara ini berjalan lancar dan dirancang untuk bekerja sempurna secara offline.</p>



<h1 class="wp-block-heading">Keuntungan Utama Kerangka Ini</h1>



<p class="wp-block-paragraph">Pertama-tama, ia menawarkan <strong>kinerja tingkat asli yang sebenarnya</strong>. Didukung oleh runtime PHP tertanam yang dioptimalkan untuk seluler, ini secara mendasar berbeda dari aplikasi biasa yang dibungkus halaman web dan memberikan pengalaman yang mendekati perangkat lunak asli sepenuhnya.</p>



<p class="wp-block-paragraph">1. Anda mendapatkan <strong>akses langsung ke fitur asli perangkat</strong>. Fungsi perangkat keras umum seperti kamera perangkat, otentikasi biometrik, dan notifikasi push semuanya dapat dipanggil secara langsung, dan Anda dapat membangun antarmuka menggunakan kontrol asli asli platform. Semuanya berada dalam satu pustaka terpadu untuk alur pengembangan yang lancar.</p>



<p class="wp-block-paragraph">2. Ini <strong>terintegrasi mendalam dengan seluruh ekosistem Laravel</strong>. Pengembang Laravel lama dapat menggunakan kembali keterampilan yang ada dan paket yang telah dibangun sebelumnya tanpa harus mempelajari kerangka baru yang asing dari awal.</p>



<p class="wp-block-paragraph">3. Tidak ada <strong>ketergantungan pada server web eksternal</strong> sama sekali; seluruh aplikasi Anda berjalan secara lokal di perangkat, dibangun dari awal dengan fungsionalitas offline dalam pikiran. Selain itu, ia mendukung pengembangan lintas platform yang sebenarnya — kompilasi hanya satu basis kode dan hasilkan penginstal terpisah untuk iOS dan Android.</p>



<h2 class="wp-block-heading">Kurva Pembelajaran yang Lembut untuk Pengembang Baru</h2>



<p class="wp-block-paragraph">Dengan NativePHP untuk Seluler, tidak perlu mempelajari bahasa seluler khusus seperti <strong>Swift</strong> atau <strong>Kotlin</strong>, atau membuang waktu mengonfigurasi alat pembangunan yang rumit seperti Gradle atau Xcode. Pekerjaan pengembangan Anda terbatas pada penulisan kode PHP standar.</p>



<p class="wp-block-paragraph">Banyak pengembang PHP di seluruh dunia sekarang memanfaatkan pengetahuan yang ada untuk merilis aplikasi seluler jauh lebih cepat, mengurangi siklus pengembangan secara keseluruhan secara drastis. Dari menyelesaikan kode sumber hingga mengirimkan aplikasi selesai ke toko aplikasi resmi hanya membutuhkan waktu beberapa menit.</p>



<h2 class="wp-block-heading">Cara Kerjanya &#038; Cara Anda Mengembangkan Dengannya</h2>



<p class="wp-block-paragraph">Alur kerja yang mendasarinya sederhana. Saat mengompilasi proyek Anda, biner PHP yang telah dibangun sebelumnya akan dibundel dengan logika bisnis Anda di dalam shell asli tipis yang ditulis dalam Swift atau Kotlin. Lapisan abstraksi bawaan mengelola runtime PHP tertanam dan menjalankan kode PHP Anda secara langsung. Ekstensi PHP yang dibangun khusus kemudian menghubungkan logika PHP ke setiap fitur asli yang tersedia di ponsel target.</p>



<p class="wp-block-paragraph">Anda memiliki banyak fleksibilitas saat membangun UI frontend: <strong>HTML, JavaScript, Tailwind, Blade, Livewire</strong> standar semuanya berfungsi langsung, bersama dengan kerangka populer seperti <strong>React</strong> dan <strong>Vue</strong>. Mulai dari versi 3, menggabungkannya dengan EDGE membuka penggunaan langsung kontrol UI asli platform untuk tampilan dan nuansa aplikasi yang lebih otentik. Pengembang hanya perlu memanggil fungsi pembantu bawaan yang sederhana untuk mengimplementasikan sebagian besar fungsionalitas yang diperlukan.</p>



<h2 class="wp-block-heading">Jauh Lebih Mampu daripada Aplikasi yang Dibungkus Web Standar</h2>



<p class="wp-block-paragraph">Banyak orang salah mengira bahwa ini hanyalah situs web lain yang dibungkus di dalam wadah seluler, tetapi itu sama sekali tidak benar. Setiap bagian dari kode aplikasi Anda diinstal secara lokal bersama dengan paket aplikasi di perangkat pengguna akhir.</p>



<p class="wp-block-paragraph">Berkat ekstensi PHP yang dibangun khusus, sebagian besar API sistem seluler asli sudah dapat diakses, dengan integrasi baru yang ditambahkan secara teratur. Periksa dokumentasi resmi untuk rincian lengkap tentang fungsi yang tersedia.</p>



<p class="wp-block-paragraph">Berbeda dengan PWA atau solusi berbasis WebAssembly yang terjebak dengan berbagai batasan runtime, pengaturan ini memberikan eksekusi PHP penuh tanpa batas, bebas dari batasan kotak pasir dan pekerjaan pengaturan yang rumit. Ini membuka pengembangan seluler asli untuk semua pengembang PHP yang berpengalaman.</p>



<p class="wp-block-paragraph">Pada akhirnya, jika Anda adalah pengembang PHP yang berencana membangun aplikasi seluler, cobalah NativePHP untuk Seluler — kemungkinan besar Anda akan terkejut dengan apa yang dapat dilakukannya.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.foxdevelop.com/id/2026/06/07/dasar-nativephp-pengantar-nativephp-untuk-seluler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
