cari
Rumahpembangunan bahagian belakangtutorial phpPengesahan Data di Laravel: Cara yang betul - Pengesahan tersuai

3

Takeaways Key Data Validation in Laravel: The Right Way - Custom Validators

Pakej Pengesahan Data yang dibina Laravel boleh diperluaskan untuk membuat peraturan pengesahan tersuai untuk keperluan khusus, seperti mengesahkan nama penuh atau kod pin yang termasuk ruang. Pengesahan Data di Laravel: Cara yang betul - Pengesahan tersuai

Peraturan pengesahan tersuai dicipta dengan memperluaskan kelas IlluminateValidationValidator Laravel dan menambah kaedah baru untuk mengesahkan data dan mesej ralat masing -masing.

Peraturan pengesahan baru mesti dinamakan dengan awalan 'validate' dan seluruh nama dalam kes tajuk. Peraturan pengesahan akan menjadi huruf kecil dari apa yang dinamakan kaedah (tanpa awalan 'mengesahkan') dan setiap perkataan akan dipisahkan oleh garis bawah.
  • Selepas membuat peraturan pengesahan tersuai, pembekal perkhidmatan perlu dibuat untuk mengikat peraturan ini ke dalam pakej pengesahan Laravel. Penyedia perkhidmatan ini kemudian dimuatkan oleh Laravel melalui fail app/config/app.php.
  • Di bahagian sebelumnya, kami belajar bagaimana untuk mengesahkan data di Laravel menggunakan pakej pengesahan data yang dibina dan bagaimana untuk mengaplikasikan pengesahan data kami kepada perkhidmatan khusus entiti untuk menjadikan kod itu boleh digunakan semula pada prinsip kering. Sekarang, kami dapat dengan mudah membuat perkhidmatan pengesahan untuk setiap entiti dalam aplikasi kami dengan peraturan pengesahan masing -masing, menyuntikkannya di mana sahaja kami ingin mengesahkan data dan mudah mengambil dan memaparkan ralat dan lain -lain
  • Tetapi bagaimana jika kita mahukan lebih banyak?

Kod sumber untuk tutorial ini boleh didapati di sini. Anda hanya perlu menjalankan pemasangan komposer untuk memasang rangka kerja Laravel di dalam direktori projek sebelum anda dapat menjalankan kod ini.

Keperluan untuk lebih banyak

keluar dari kotak, Laravel menyediakan banyak peraturan pengesahan yang berguna dan generik. Tetapi bagaimana jika kita mahukan lebih banyak? Bagaimana jika kita memerlukan sesuatu yang lebih spesifik? Dalam contoh kami di sini, dalam testFormValidator kami telah menggunakan alpha_dash untuk mengesahkan nama tetapi itu tidak sesuai untuk mengesahkan nama penuh. Umumnya, nama penuh seseorang akan terdiri daripada nama pertama dan nama terakhir dan mungkin nama tengah juga. Semua ini akan dipisahkan oleh ruang. Begitu juga jika kita mahu mengesahkan kod pin dalam bentuk kita, kita tidak boleh menggunakan peraturan alpha_num yang disediakan oleh Laravel, kita harus membenarkan ruang di dalamnya juga.

Nah, Laravel menyediakan pilihan untuk dengan mudah melanjutkan pakej pengesahannya dan menambah peraturan pengesahan tersuai kepadanya. Dalam RocketCandy/Services/Validation/Buat ValidatoreXtended.php dan tambahkan kod berikut kepadanya:
<span><span><?php </span></span><span>
</span><span><span>namespace RocketCandy<span>\Services\Validation</span>;
</span></span><span>
</span><span><span>use Illuminate<span>\Validation\Validator</span> as IlluminateValidator;
</span></span><span>
</span><span><span>class ValidatorExtended extends IlluminateValidator {
</span></span><span>
</span><span>	<span>private $_custom_messages = array(
</span></span><span>		<span>"alpha_dash_spaces" => "The :attribute may only contain letters, spaces, and dashes.",
</span></span><span>		<span>"alpha_num_spaces" => "The :attribute may only contain letters, numbers, and spaces.",
</span></span><span>	<span>);
</span></span><span>
</span><span>	<span>public function __construct( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) {
</span></span><span>		<span><span>parent::</span>__construct( $translator, $data, $rules, $messages, $customAttributes );
</span></span><span>
</span><span>		<span>$this->_set_custom_stuff();
</span></span><span>	<span>}
</span></span><span>
</span><span>	<span>/**
</span></span><span><span>	 * Setup any customizations etc
</span></span><span><span>	 *
</span></span><span><span>	 * <span>@return <span>void</span>
</span></span></span><span><span>	 */
</span></span><span>	<span>protected function _set_custom_stuff() {
</span></span><span>		<span>//setup our custom error messages
</span></span><span>		<span>$this->setCustomMessages( $this->_custom_messages );
</span></span><span>	<span>}
</span></span><span>
</span><span>	<span>/**
</span></span><span><span>	 * Allow only alphabets, spaces and dashes (hyphens and underscores)
</span></span><span><span>	 *
</span></span><span><span>	 * <span>@param <span>string</span> $attribute
</span></span></span><span><span>	 * <span>@param <span>mixed</span> $value
</span></span></span><span><span>	 * <span>@return <span>bool</span>
</span></span></span><span><span>	 */
</span></span><span>	<span>protected function validateAlphaDashSpaces( $attribute, $value ) {
</span></span><span>		<span>return (bool) preg_match( "/^[A-Za-z\s-_]+$/", $value );
</span></span><span>	<span>}
</span></span><span>
</span><span>	<span>/**
</span></span><span><span>	 * Allow only alphabets, numbers, and spaces
</span></span><span><span>	 *
</span></span><span><span>	 * <span>@param <span>string</span> $attribute
</span></span></span><span><span>	 * <span>@param <span>mixed</span> $value
</span></span></span><span><span>	 * <span>@return <span>bool</span>
</span></span></span><span><span>	 */
</span></span><span>	<span>protected function validateAlphaNumSpaces( $attribute, $value ) {
</span></span><span>		<span>return (bool) preg_match( "/^[A-Za-z0-9\s]+$/", $value );
</span></span><span>	<span>}
</span></span><span>
</span><span><span>}	//end of class
</span></span><span>
</span><span>
</span><span><span>//EOF</span></span></span>

di sini kelas kami memanjangkan kelas IlluminateValidationValidator Laravel dan menambah dua kaedah baru (ValidatealPhadashSpaces () dan ValidateAlphanumspaces ()) untuk mengesahkan data dan mesej ralat masing -masing dengan pemegang tempat: atribut yang akan menggantikannya dengan nama yang mana medan data yang disahkan.

Sekarang perkara yang perlu diperhatikan di sini adalah bagaimana kita menamakan kaedah. Semua nama kaedah peraturan pengesahan mesti mempunyai awalan mengesahkan dan selebihnya mestilah dalam kes tajuk (tanpa ruang, tentu saja). Peraturan pengesahan akan berada dalam huruf kecil dari kaedah yang dinamakan (tanpa awalan pengesahan) dan setiap perkataan akan dipisahkan oleh garis bawah. Jadi jika kita mahu menambah peraturan pengesahan alpha_dash_spaces maka kaedah yang sepadan kita akan dinamakan validatealphadashspaces ().

jadi kami telah menambah alpha_dash_spaces dan alpha_num_spaces peraturan pengesahan di sini. Alpha_dash_spaces akan membolehkan huruf, sengkang (tanda hubung dan garis bawah) dan ruang manakala alpha_num_spaces hanya membenarkan huruf, nombor (nombor 0-9) dan ruang.

Kami belum selesai dengan ini, kelas ini hanya memanjangkan kelas pengesahan Laravel. Kami masih perlu membuat Laravel mengiktirafnya supaya apabila kami menambah peraturan baru kepada perkhidmatan Vaidation kami di atas, Laravel akan tahu bagaimana untuk menjalankan pengesahan seperti peraturan tersebut.

Dokumen Laravel menyatakan bahawa kita boleh melakukan ini:

<span>Validator<span>::</span>resolver( function( $translator, $data, $rules, $messages ) {
</span>	<span>return new <span>\RocketCandy\Services\Validation\ValidatorExtended</span>( $translator, $data, $rules, $messages );
</span><span>} );</span>

dan melekatkannya dalam apl/start/global.php atau mungkin membuat fail baru di dalam direktori aplikasi dan memuatkan fail itu dalam apl/start/global.php. Tetapi itu tidak kelihatan begitu bersih, mengubahsuai fail yang kita tidak perlu mengubah suai, melekat bit dan kepingan di sana sini. Tidak, kami lebih suka menyimpan semua kod berkaitan pengesahan ini bersama -sama, jadi kami akan membuat pembekal perkhidmatan dan melekatkan peraturan pengesahan tersuai kami ke dalam pakej pengesahan Laravel di sana.

Buat ValidationExtensionServiceProvider.php di dalam RocketCandy/Services/Validation/dan tambahkan kod berikut kepadanya:

<span><span><?php </span></span><span>
</span><span><span>namespace RocketCandy<span>\Services\Validation</span>;
</span></span><span>
</span><span><span>use Illuminate<span>\Support\ServiceProvider</span>;
</span></span><span>
</span><span><span>class ValidationExtensionServiceProvider extends ServiceProvider {
</span></span><span>
</span><span>	<span>public function register() {}
</span></span><span>
</span><span>	<span>public function boot() {
</span></span><span>		<span>$this->app->validator->resolver( function( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) {
</span></span><span>			<span>return new ValidatorExtended( $translator, $data, $rules, $messages, $customAttributes );
</span></span><span>		<span>} );
</span></span><span>	<span>}
</span></span><span>
</span><span><span>}	//end of class
</span></span><span>
</span><span>
</span><span><span>//EOF</span></span></span>

Jika anda telah membuat pembekal perkhidmatan di Laravel sebelum biasanya anda menggunakan kaedah daftar () untuk melakukan apa sahaja yang mengikat yang anda perlukan. Ia adalah satu -satunya kaedah abstrak dalam kelas abstrak IlluminatesupportServiceProvider yang kami telah diperluaskan di sini. Sebabnya kami tidak dapat melekatkan pelanjutan pengesahan kami dalam daftar () adalah bahawa ia dipecat sebaik sahaja penyedia perkhidmatan dimuatkan oleh Laravel dan kami akan mengalami voli pengecualian yang dilemparkan kepada kami sebagai Laravel memulakan pakej pengesahannya kemudian, jadi kami akan cuba untuk memperluaskan perkara yang tidak ada menggunakan objek yang tidak wujud. Kaedah boot () di sisi lain dipecat sebelum permintaan dialihkan, jadi kami dapat dengan selamat melekatkan barang -barang kami ke pakej pengesahan Laravel di sana.

Sekarang kita hanya perlu memberitahu Laravel untuk memuatkan penyedia perkhidmatan ini dan kita akan ditetapkan. Buka apl/config/app.php anda dan dalam array penyedia Tambahkan yang berikut pada akhir:

<span><span><?php </span></span><span>
</span><span><span>namespace RocketCandy<span>\Services\Validation</span>;
</span></span><span>
</span><span><span>use Illuminate<span>\Validation\Validator</span> as IlluminateValidator;
</span></span><span>
</span><span><span>class ValidatorExtended extends IlluminateValidator {
</span></span><span>
</span><span>	<span>private $_custom_messages = array(
</span></span><span>		<span>"alpha_dash_spaces" => "The :attribute may only contain letters, spaces, and dashes.",
</span></span><span>		<span>"alpha_num_spaces" => "The :attribute may only contain letters, numbers, and spaces.",
</span></span><span>	<span>);
</span></span><span>
</span><span>	<span>public function __construct( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) {
</span></span><span>		<span><span>parent::</span>__construct( $translator, $data, $rules, $messages, $customAttributes );
</span></span><span>
</span><span>		<span>$this->_set_custom_stuff();
</span></span><span>	<span>}
</span></span><span>
</span><span>	<span>/**
</span></span><span><span>	 * Setup any customizations etc
</span></span><span><span>	 *
</span></span><span><span>	 * <span>@return <span>void</span>
</span></span></span><span><span>	 */
</span></span><span>	<span>protected function _set_custom_stuff() {
</span></span><span>		<span>//setup our custom error messages
</span></span><span>		<span>$this->setCustomMessages( $this->_custom_messages );
</span></span><span>	<span>}
</span></span><span>
</span><span>	<span>/**
</span></span><span><span>	 * Allow only alphabets, spaces and dashes (hyphens and underscores)
</span></span><span><span>	 *
</span></span><span><span>	 * <span>@param <span>string</span> $attribute
</span></span></span><span><span>	 * <span>@param <span>mixed</span> $value
</span></span></span><span><span>	 * <span>@return <span>bool</span>
</span></span></span><span><span>	 */
</span></span><span>	<span>protected function validateAlphaDashSpaces( $attribute, $value ) {
</span></span><span>		<span>return (bool) preg_match( "/^[A-Za-z\s-_]+$/", $value );
</span></span><span>	<span>}
</span></span><span>
</span><span>	<span>/**
</span></span><span><span>	 * Allow only alphabets, numbers, and spaces
</span></span><span><span>	 *
</span></span><span><span>	 * <span>@param <span>string</span> $attribute
</span></span></span><span><span>	 * <span>@param <span>mixed</span> $value
</span></span></span><span><span>	 * <span>@return <span>bool</span>
</span></span></span><span><span>	 */
</span></span><span>	<span>protected function validateAlphaNumSpaces( $attribute, $value ) {
</span></span><span>		<span>return (bool) preg_match( "/^[A-Za-z0-9\s]+$/", $value );
</span></span><span>	<span>}
</span></span><span>
</span><span><span>}	//end of class
</span></span><span>
</span><span>
</span><span><span>//EOF</span></span></span>

Sekarang, buka aplikasi/rocketcandy/perkhidmatan/pengesahan/testFormValidator.php dan kemas kini harta peraturan $ supaya kelihatan seperti ini:

<span>Validator<span>::</span>resolver( function( $translator, $data, $rules, $messages ) {
</span>	<span>return new <span>\RocketCandy\Services\Validation\ValidatorExtended</span>( $translator, $data, $rules, $messages );
</span><span>} );</span>

Kami menggantikan peraturan pengesahan alpha_dash untuk nama dengan alpha_dash_spaces dan alpha_num untuk pin_code dengan alpha_num_spaces.

Sekarang jika kita menavigasi ke http: // /dummy/create kita boleh memasukkan ruang dalam medan nama dan kod pin tanpa sebarang masalah dan data akan lulus pengesahan pada hantar.

Ringkasan

Jadi dalam dua bahagian tutorial ini kita belajar:

  1. Mengesahkan data di Laravel menggunakan pakej pengesahan data yang dibina.
  2. Gunakan pendekatan berorientasikan objek untuk abstrak pengesahan data untuk perkhidmatan berasingan sendiri ( Tanggungjawab tunggal Pencapaian Unlocked).
  3. Buat pengecualian tersuai kami sendiri untuk digunakan dengan perkhidmatan pengesahan data kami (bukannya menggunakan nilai boolean yang benar/palsu) dan bagaimana untuk menyimpan dan mengambil kesilapan dari mereka.
  4. Suntikan perkhidmatan pengesahan data kami di pengawal kami dan gunakannya.
  5. Memperluaskan pakej pengesahan Laravel dengan peraturan pengesahan tersuai kami dan memuatkan auto menggunakan pembekal perkhidmatan.

Nota kaki

Demi menjaga tutorial ini ke titik saya menyuntik perkhidmatan pengesahan dalam pengawal kami dan menggunakannya di sana. Dalam projek kehidupan sebenar, anda kemungkinan besar akan menggunakan perkhidmatan pengesahan di tempat lain di mana anda akan mengendalikan sanitisasi dan penyimpanan data. Sebaik -baiknya, pengawal harus bebas lemak dan mempunyai kod minimum yang minimum.


Ada pemikiran? Soalan? Api dalam komen.

Soalan Lazim mengenai Pengesahan Data Laravel dan Pengesahan Custom

Apakah faedah menggunakan Laravel untuk pengesahan data?

Laravel adalah kerangka PHP yang popular yang menawarkan sistem yang mantap dan fleksibel untuk pengesahan data. Ia menyediakan pelbagai peraturan pengesahan yang boleh digunakan dengan mudah untuk data anda, memastikan ia memenuhi piawaian yang diperlukan sebelum diproses. Sistem pengesahan Laravel juga membolehkan peraturan pengesahan tersuai, memberikan anda keupayaan untuk menentukan kriteria anda sendiri untuk pengesahan data. Ini boleh menjadi sangat berguna apabila anda perlu mengesahkan data dengan cara yang tidak dilindungi oleh peraturan pengesahan terbina dalam Laravel. anda untuk membuat peraturan pengesahan tersuai menggunakan validator :: extend method. Kaedah ini mengambil dua parameter: nama peraturan pengesahan dan penutupan yang menerima tiga argumen - nama atribut, nilai atribut, dan panggilan balik kegagalan. Di dalam penutupan, anda boleh menentukan logik untuk peraturan pengesahan tersuai anda. Sekiranya pengesahan gagal, anda harus memanggil panggilan balik kegagalan dengan mesej ralat yang sesuai.

Bolehkah saya menggunakan peraturan pengesahan terbina dalam Laravel dengan peraturan tersuai saya? Ini boleh dilakukan dengan mengikat peraturan pengesahan bersama -sama dalam logik pengesahan anda. Sebagai contoh, anda boleh menggunakan peraturan 'yang diperlukan' untuk memastikan bahawa medan tidak kosong, dan kemudian gunakan peraturan tersuai untuk mengesahkan format data.

Bagaimana saya memaparkan mesej ralat pengesahan di Laravel?

Laravel menjadikannya mudah untuk memaparkan mesej ralat pengesahan dalam pandangan anda. Apabila pengesahan gagal, Laravel mengalihkan pengguna kembali ke lokasi sebelumnya dengan semua kesilapan pengesahan yang disimpan dalam sesi. Anda kemudian boleh memaparkan kesilapan ini dalam pandangan anda menggunakan pembolehubah ralat $, yang secara automatik disediakan untuk semua pandangan oleh Laravel. Ya, Laravel membolehkan anda menyesuaikan mesej ralat untuk peraturan pengesahan tersuai anda. Ini boleh dilakukan dengan menentukan mesej tersuai anda dalam fail bahasa, dan kemudian merujuk mesej ini dalam logik pengesahan anda. Ini memberi anda fleksibiliti untuk menyesuaikan mesej ralat anda ke keperluan khusus aplikasi anda.

Bagaimana saya mengesahkan array di Laravel? Anda boleh menentukan medan array untuk disahkan dan kemudian menggunakan peraturan pengesahan kepadanya. Sebagai contoh, jika anda mempunyai pelbagai e -mel, anda boleh mengesahkan setiap e -mel dalam array menggunakan peraturan pengesahan 'e -mel'. Laravel membolehkan anda menggunakan peraturan pengesahan bersyarat. Ini bermakna anda boleh menggunakan peraturan pengesahan tertentu hanya jika syarat -syarat lain dipenuhi. Ini boleh dilakukan dengan menggunakan kaedah kadang -kadang pada contoh pengesahan.

Bagaimana saya mengesahkan muat naik fail di Laravel? imej ',' mimes ', dan' saiz '. Peraturan ini membolehkan anda mengesahkan jenis dan saiz fail yang dimuat naik, memastikan bahawa ia memenuhi keperluan aplikasi anda. peraturan pengesahan tersuai dalam permintaan borang. Ini boleh dilakukan dengan menentukan peraturan dalam kaedah peraturan kelas permintaan borang. Anda kemudian boleh menggunakan peraturan ini apabila mengesahkan data permintaan borang.

Bagaimana saya mengendalikan kegagalan pengesahan di Laravel? dengan semua kesilapan pengesahan yang disimpan dalam sesi. Anda kemudian boleh mengendalikan kesilapan ini dalam pandangan anda, memaparkannya kepada pengguna dengan cara yang sesuai untuk aplikasi anda.

Atas ialah kandungan terperinci Pengesahan Data di Laravel: Cara yang betul - Pengesahan tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bekerja dengan Data Sesi Flash di LaravelBekerja dengan Data Sesi Flash di LaravelMar 12, 2025 pm 05:08 PM

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pembalakan PHP: Amalan Terbaik untuk Analisis Log PHPPembalakan PHP: Amalan Terbaik untuk Analisis Log PHPMar 10, 2025 pm 02:32 PM

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTCurl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTMar 14, 2025 am 11:42 AM

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Respons HTTP yang dipermudahkan dalam ujian LaravelRespons HTTP yang dipermudahkan dalam ujian LaravelMar 12, 2025 pm 05:09 PM

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

12 skrip sembang php terbaik di codecanyon12 skrip sembang php terbaik di codecanyonMar 13, 2025 pm 12:08 PM

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Terangkan konsep pengikatan statik lewat dalam PHP.Terangkan konsep pengikatan statik lewat dalam PHP.Mar 21, 2025 pm 01:33 PM

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom.Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom.Mar 28, 2025 pm 05:12 PM

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa