<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: IssuesPHP</title>
    <description>The latest articles on DEV Community by IssuesPHP (@issuesphp).</description>
    <link>https://dev.to/issuesphp</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4165297%2F53d5f756-aa47-488f-bd0b-c8a24eeafa8a.png</url>
      <title>DEV Community: IssuesPHP</title>
      <link>https://dev.to/issuesphp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/issuesphp"/>
    <language>en</language>
    <item>
      <title>Review laravel vs issuesphp framework</title>
      <dc:creator>IssuesPHP</dc:creator>
      <pubDate>Tue, 20 Oct 2026 21:22:48 +0000</pubDate>
      <link>https://dev.to/issuesphp/review-laravel-vs-issuesphp-framework-3535</link>
      <guid>https://dev.to/issuesphp/review-laravel-vs-issuesphp-framework-3535</guid>
      <description>&lt;p&gt;In this instance, we present a comparison of two PHP frameworks: IssuesPHP and Laravel. This is not the typical &lt;strong&gt;Laravel-versus-CodeIgniter&lt;/strong&gt; comparison we have seen repeated over the years—a common occurrence, given that these frameworks are rarely compared against the many other open-source alternatives that exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  Views
&lt;/h2&gt;

&lt;p&gt;Laravel uses Blade, a templating system that simplifies working with HTML; meanwhile, IssuesPHP uses embedded PHP code—the traditional approach favored by old-school developers.&lt;/p&gt;

&lt;p&gt;// Laravel&lt;br&gt;
&lt;code&gt;@extends('layouts/app')&lt;br&gt;
@section('meta')&lt;br&gt;
&amp;lt;meta name="description" content=""&amp;gt;&lt;br&gt;
@endsection&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;// IssuesPHP&lt;br&gt;
&lt;code&gt;&amp;lt;?php&lt;br&gt;
if (isset($argv[1])) {&lt;br&gt;
    parse_str($argv[1], $_GET); &lt;br&gt;
}&lt;br&gt;
?&amp;gt;&lt;br&gt;
&amp;lt;meta name="description" content=""&amp;gt;&lt;/code&gt;`&lt;/p&gt;

&lt;h2&gt;
  
  
  Querys
&lt;/h2&gt;

&lt;p&gt;Laravel uses an ORM called Eloquent and facade classes that simplify database queries; meanwhile, IssuesPHP features methods that communicate with multiple databases using PDO, simply by specifying the MySQL connection number.&lt;/p&gt;

&lt;p&gt;// Laravel&lt;br&gt;&lt;br&gt;
&lt;code&gt;$member = User::where('username', $username)&lt;br&gt;
         -&amp;gt;where('id', $id)&lt;br&gt;
         -&amp;gt;firstOrFail();&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;// IssuesPHP&lt;br&gt;
&lt;code&gt;$query = IpModel::chosenOrLost($this-&amp;gt;table,$id,2);&lt;/code&gt;`&lt;/p&gt;

&lt;h2&gt;
  
  
  Routes
&lt;/h2&gt;

&lt;p&gt;Laravel employs a comprehensive routing system for both web and API, with its standout feature being the ease of creating multilingual routes; meanwhile, IssuesPHP features a routing system that supports multiple parameters. Both frameworks utilize static classes.&lt;/p&gt;

&lt;p&gt;// Laravel&lt;br&gt;
&lt;code&gt;Route::get('/home', [HomeController::class, 'index'])-&amp;gt;name('home');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;// IssuesPHP&lt;br&gt;
&lt;code&gt;function routeFactory($segment,$param1) {  &lt;br&gt;
    Route::get('welcome', 'index', 'welcomes',$segment,$param1);    &lt;br&gt;
}&lt;/code&gt;`&lt;/p&gt;

&lt;h2&gt;
  
  
  MVC / MVCD
&lt;/h2&gt;

&lt;p&gt;Laravel incorporates the MVC pattern with additional layers that make it a comprehensive option; meanwhile, IssuesPHP applies the MVCD concept, where displays are instances derived from controllers, in the classic PHP style.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;namespace App\Http\Displays;&lt;br&gt;
require DIR.'/../../../../bootstrap/app.php';&lt;br&gt;
use App\Http\Controllers\WelcomeController;&lt;br&gt;
$welcome = new WelcomeController();&lt;br&gt;
$welcome-&amp;gt;index();&lt;/code&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>laravel</category>
      <category>softwareengineering</category>
      <category>opensource</category>
    </item>
    <item>
      <title>IssuesPHP New PHP Framework</title>
      <dc:creator>IssuesPHP</dc:creator>
      <pubDate>Mon, 19 Oct 2026 04:09:33 +0000</pubDate>
      <link>https://dev.to/issuesphp/issuesphp-new-php-framework-2lbk</link>
      <guid>https://dev.to/issuesphp/issuesphp-new-php-framework-2lbk</guid>
      <description>&lt;p&gt;IssuesPHP Framework is a simple framework that helps solve common software development problems.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://issuesphpframework.online/" rel="noopener noreferrer"&gt;php framework&lt;/a&gt; maintains a codebase consisting entirely of PHP—without external libraries—and features a command-line interface built using C.&lt;/p&gt;

&lt;p&gt;*) Easy to learn&lt;br&gt;
*) Similar to frameworks like Laravel or CodeIgniter 4&lt;br&gt;
*) Uses Composer&lt;br&gt;
*) PSR-4 class autoloading&lt;br&gt;
*) Friendly URLs&lt;br&gt;
*) Multiple database connections via PDO&lt;/p&gt;

&lt;p&gt;Creating a project is simple with &lt;a href="https://github.com/issuesphp/issuesphp" rel="noopener noreferrer"&gt;issuesphp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;composer create-project issuesphp/issuesphp nameapp&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/RTtFNj-GIBE" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Structure
&lt;/h2&gt;

&lt;p&gt;Routes, Controllers, Displays, Views&lt;/p&gt;

&lt;p&gt;It features a new addition: Displays, which separate controller instances.&lt;/p&gt;

&lt;h2&gt;
  
  
  Methods
&lt;/h2&gt;

&lt;p&gt;A large number of methods that simplify working with databases.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;IpModel::ChosenAll('tableName');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM TableName;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;IpModel::chosenOne('tableName',$id);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM TableName WHERE id = id;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;IpModel::chosenOrLost('tableName',$id);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Returns a 404 view if the ID is not found.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;IpModel::slipk('tableName',$id);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;DELETE FROM TableName WHERE id = id;&lt;/p&gt;

&lt;p&gt;Deletes a record&lt;/p&gt;

&lt;h2&gt;
  
  
  Multiple database connections
&lt;/h2&gt;

&lt;p&gt;To work with multiple databases, you simply need to configure and add an extra parameter specifying the connection number; if left blank, it uses the first connection by default.&lt;/p&gt;

&lt;p&gt;class Database &lt;br&gt;
{&lt;br&gt;
// default database&lt;br&gt;
    &lt;code&gt;public const DB_HOST = 'localhost';&lt;br&gt;
    public const DB_USERNAME = 'jonathan';&lt;br&gt;
    public const DB_PASSWORD = '123';&lt;br&gt;
    public const DB_DATABASE = 'database1';&lt;br&gt;
    public const DB_DRIVER = 'mysql';&lt;br&gt;
    public const DB_NUMBER = '';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;//second database&lt;br&gt;
   &lt;code&gt;public const DB_SECOND_HOST = 'localhost';&lt;br&gt;
    public const DB_SECOND_USERNAME = 'jonathan';&lt;br&gt;
    public const DB_SECOND_PASSWORD = '123';&lt;br&gt;
    public const DB_SECOND_DATABASE = 'database2';&lt;br&gt;
    public const DB_SECOND_DRIVER = 'mysql';&lt;br&gt;
    public const DB_SECOND_NUMBER = '2';&lt;/code&gt;&lt;br&gt;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;code&gt;IpModel::ChosenAll('tableName',$dbNumber);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM TableName;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;IpModel::chosenOne('tableName',$id,$dbNumber);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;SELECT * FROM TableName WHERE id = id;&lt;/p&gt;

</description>
      <category>php</category>
      <category>pdo</category>
      <category>opensource</category>
      <category>sql</category>
    </item>
  </channel>
</rss>
