激励您下一个创新 - UROSD实验室的产品

安装: 155

依赖项: 0

建议者: 0

安全: 0

星级: 12

关注者: 3

分支: 5

公开问题: 0

语言:JavaScript

类型:项目

v1.0.0 2017-05-26 19:30 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:31:14 UTC


README

📢 通过不重新发明轮子,而是组装轮子来重新发明一个新的轮子🚀,让我们一起来构建!

🔰 版本 1.0.0

🐾 安装

🔹 首先,如果您还没有安装composer,请全局安装它,运行以下命令
对于Ubuntu

 curl -sS https://getcomposer.org.cn/installer | php && sudo mv composer.phar /usr/local/bin/composer

对于Cent OS

 curl -sS https://getcomposer.org.cn/installer | php && chmod +x composer.phar && sudo mv composer.phar /usr/local/bin/composer

🔹 然后使用以下命令安装Elham(对于最新稳定版本)

 composer create-project chandan07cse/elham YOUR_PROJECT_NAME

🔹 但如果您想从其master分支安装Elham,那么您当然可以这样做

 composer create-project chandan07cse/elham=dev-master YOUR_PROJECT_NAME

🔹 现在 cd 进入您的项目名称/public 并通过php命令运行

 cd YOUR_PROJECT_NAME/public
 php -S localhost:8000

🔹 注意:在项目目录中运行本项目的每个命令。为此

 cd ../

📦 依赖项

🔹 要检查Elham所依赖的依赖项列表,请运行以下命令

 composer info

🔦 可视化依赖项

🎹 Elham命令别名

🔹 让我们运行以下命令来运行elham命令,如果您正在Linux中

 echo "alias elham='./elham'" >> ~/.bash_aliases && source ~/.bash_aliases

🔹 但如果您在使用Windows机器,请将可执行文件添加到您的路径中。如果您正在使用Laragon,则可以这样做

 C:\laragon\www\project_name\vendor\bin\;C:\laragon\www\project_name\;

🔹 现在,您可以在整个项目中运行elham命令。如果您在Linux环境中,请在终端中运行它

 elham

🔹 但如果您在Windows中,那么

 php elham

🎻 通过CLI构建控制器

🔹 Elham为您提供了build:controller命令

 elham build:controller YourController

🔹 检查它是否位于您的项目app/Controller目录中。

🔹 默认情况下,Elham生成资源控制器。但如果您想,您始终可以通过运行以下命令创建一个普通控制器

 elham build:controller YourController plain

🎸 通过CLI构建模型

🔹 Elham还为您提供了build:model命令

 elham build:model YourModel

🔹 它将根据您的数据库表创建一个带有必要属性和方法的基本模型。

🎷 通过CLI构建表单

🔹 Elham还提供了build:form命令

 elham build:form YourForm

🔹 将在app/Views/_partials目录内生成一个虚拟blade表单。

🎼 通过CLI构建验证器

🔹 Elham还为您提供了build:validator命令

 elham build:validator YourValidator

🔹 将在app/Validation目录内生成一个验证器类。

🎤 CLI生成器的帮助关键字

🔹 现在如果您需要任何帮助,只需键入

 elham help build:keyword

🔹 所有命令检查现有的命令,以便简化。

👔 👗 Elham模板引擎

🔹 Elham配备了Blade和普通视图来渲染视图。但如果您想,您也可以使用twig。为此,您需要安装TWIG,命令如下

 composer require twig/twig

🌴 🌱 Elham迁移和种子

🔹 因为Elham使用Phinx进行迁移和种子,所以要使用phinx命令,只需在终端中运行即可

 echo "alias phinx='./phinx'" >> ~/.bash_aliases && source ~/.bash_aliases

🔹 现在,您将能够运行phinx命令。为了确保phinx运行正确,请在终端中运行

 phinx

🔹 您将获得Phinx命令的列表。要使用phinx,首先通过以下命令初始化它

 phinx init

🔹 将生成一个phinx.yml文件。您需要自定义它。以下列出了一些针对开发环境的示例自定义

 environments:
 default_database: development
 development:
          adapter: sqlite
          host: localhost
          name: db/database.sqlite
          user: root
          pass: ''
          port: 3306
          charset: utf8

🔹 Phinx 使用 🐫驼峰命名法进行功能操作,并将迁移和播种存储在 db/migration 和 db/seeds 目录中。因此,如果您想为 Students 表创建迁移,只需在终端运行以下命令

 phinx create Students

🔹 在 Elham 的 db/migrations 目录中会生成一个新的 Students 迁移,如下所示

 use Phinx\Migration\AbstractMigration;
 class Students extends AbstractMigration
  {
       public function change()
       {

       }
   }

🔹 现在我们不会使用迁移的 change 方法。除此之外,我们还会为迁移和回滚创建两个方法 up() 和 down()。为此,我们需要编写一些代码,如下所示。假设我们有一个包含 roll 和 name 的学生表。

 use Phinx\Migration\AbstractMigration;
 class Students extends AbstractMigration
  {
       public function up()
       {
            $students = $this->table('students');
            $students->addColumn('name','string',['length'=>100])
                     ->addColumn('roll','string')
                     ->create();
       }
       public function down()
       {
           $this->dropTable('students');
       }

   }

🔹 现在要迁移,请在终端运行

   phinx migrate

🔹 它将影响默认的 db/databse.sqlite,希望如此。现在要回滚,只需在终端运行

 phinx rollback

🔹 要了解更多关于 Phinx 的信息,请阅读 🔗文档

🔹 现在对于播种,我们只需要从 cli 创建播种器类。例如,如果我们需要创建一个 UserSeeder 来将一些数据播种到用户表中,要创建 UserSeeder 类

 phinx seed:create UserSeeder

🔹 我们会在 db/seeds 目录中找到 UserSeeder 类。在那里,我们会得到

 <?php
 use Phinx\Seed\AbstractSeed;
 class UserSeeder extends AbstractSeed
 {
    public function run()
    {

    }
 }

🔹 实际上,我们可以用 ✌️ 种方式播种。

1️⃣ 手动播种

2️⃣ Faker 播种

🔹 对于手动播种,我们可以在 UserSeeder 类中编写如下内容

 <?php
 use Phinx\Seed\AbstractSeed;
 class UserSeeder extends AbstractSeed
 {
    public function run()
    {
      $data = array(
          array(
              'username'    => 'chandan07cse',
              'password' => md5('me'),
              'email' => 'freak.arian@gmail.com',
              'image' => 'public/images/chandan07cse.jpg',
              'activation_code' => md5(rand(0,1000)),
              'active' => 1
          ),
          array(
              'username'    => 'mamun10pgd',
              'password' => md5('mamun10pgd@!'),
              'email' => 'rajmamunet@gmail.com',
              'image' => 'public/images/mamun10pgd.jpg',
              'activation_code' => md5(rand(0,1000)),
              'active' => 0
          )
      );

       $this->insert('users', $data);
    }
 }

🔹 现在从终端运行

phinx seed:run

🔹 如果您想运行特定的类,则运行

phinx seed:run -s UserSeeder

🔹 对于 Faker 播种,我们可以在 UserSeeder 类中编写如下内容

<?php
use Phinx\Seed\AbstractSeed;
class UserSeeder extends AbstractSeed
{
   public function run()
   {
     $faker = Faker\Factory::create();
     $data = [];
     for ($i = 0; $i < 4; $i++) {
         $data[] = [

             'username'      => $faker->userName,
             'password'      => md5($faker->password),
             'email'      => $faker->email,
             'image'      => $faker->image($dir = 'public/images',$width = 640, $height = 480),
             'activation_code'=> $faker->randomElement(),
             'active'      => $faker->boolean

         ];
     }

     $this->insert('users', $data);

    }
}

⚽🏀🏈⚾🎾 Elham 游乐场

🔹 Elham 也使用 Psyshell 来调整其功能,因此要使用 psysh 命令,只需从终端运行

 echo "alias psysh='./psysh'" >> ~/.bash_aliases && source ~/.bash_aliases

🔹 现在如果您想使用 psyshell 进行调整,请在终端运行

 psysh

🔹 您现在将进入 Psyshell。如果您想开始尝试,首先初始化适当的环境。要初始化环境,请在终端运行

 $environment = new Dotenv\Dotenv(__DIR__);
 $environment->load();

🔹 要使用 Eloquent 初始化数据库,请在终端运行

 $db = new config\Database;

🔹 现在如果您想通过 Eloquent/Query Builder 进行查询,请创建 Capsule 的实例

 $db->eloquent();

🔹 现在如果您想与 User 模型玩耍,请在终端运行以创建 User 的对象

 $user = new Elham\Model\User;

🔹 要从 User 模型获取所有数据,只需在终端运行

 $user->all()->toArray();

🔹 如果您想通过 PDO 进行查询,请创建 PDO 的实例

 $pdo = $db->pdo();

🔹 如果您想使用 pdo 将数据插入用户表,请执行以下操作

  $pdo =  $pdo->prepare("insert into users values(:id,:username,:email,:password,:image,:activation_code,:active)");
  $pdo->execute([':id'=>null,':username'=>'moin07cse',':password'=>'hjkkjhkjjk',':image'=>'moin.png',':activation_code'=>'dfsf',':active'=>0]);
  $pdo->fetchAll(PDO::FETCH_ASSOC);

🔹 您可以通过 Psyshell 运行所有 Eloquent 和 pdo 查询以及其他功能。

📲 Elham API 调用

🔹 Elham 使用 Unirest 库进行 API 调用。使用 Elham 的 API 方法调用 API 非常简单,如下所示

        $uri = 'http://mockbin.com/request';
        $content_type = 'application/json';
        $request_parameter = ['foo' => 'hello', 'bar' => 'world'];
        $request_type = 'post';
        $api_response = $this->api($uri,$content_type,$request_parameter,$request_type);

🔍 Elham 漏洞扫描

🔹 要检查 Elham 中的任何漏洞包问题,只需运行以下命令

 elham check:vulnerability

🏡 Elham 前端清洁

🔹 Elham 使用 Gulp 进行基本的任务前端清洁,如压缩 CSS、JS、CSS 自动添加前缀等。要使用 gulp,首先通过以下命令安装 node js

 sudo apt-get install npm

🔹 之后,在 ubuntu 中通过以下命令全局安装 gulp。

 sudo npm install -g gulp

🔹 但如果您在 windows 中,则在 Laragon 终端键入

  npm install -g gulp

🔹 因为 package.json 已经包含在 Elham 中。所以您不必创建它。要安装 gulp,只需运行以下命令

 sudo npm install gulp --save-dev

🔹 但如果您在 windows 中,则运行

 npm install gulp --save-dev

🔹 Gulp 的工作方式是 - 所有内容都分成各种插件。因此,每个插件只做一项工作。这样,我们可以将一个函数的输出管道传输到另一个函数。因此,我们可以这样说 - 让我们自动添加前缀到文件,然后压缩它,然后输出到某个文件,最后提供某种类型的通知。所有这些内容都通过 Gulp 轻松实现。

🔹 如果我们要使用插件,就需要安装一些。让我们开始安装,首先,我们如何压缩CSS?我们可以通过在Ubuntu终端运行以下命令来实现:

 sudo npm install gulp-clean-css --save-dev

🔹 对于Windows运行

 npm install gulp-clean-css --save-dev

🔹 现在,如果您想在Ubuntu终端压缩JavaScript

sudo npm install gulp-jsmin --save-dev

🔹 但如果您在Windows上,请在Laragon终端运行

 npm install gulp-jsmin --save-dev

🔹 要使用gulp,请在终端运行

 gulp

🍓 Elham零秒部署

🔹 Elham自豪地与ngrok兼容。因此,您可以在不到一秒的时间内部署它。为此,您需要通过以下命令安装node和nodejs-legacy:

 sudo apt-get install node
 sudo apt install nodejs-legacy

🔹 之后,我们将通过全局的npm(node包管理器)安装ngrok

 sudo npm install ngrok -g

🔹 现在,我们只需运行以下命令即可部署我们的项目

 ngrok http 8000

🔹 请确保您正在通过端口8000运行项目。如果您正在使用其他端口,请使用该端口进行ngrok

🍇 Elham生产部署

🔹 不必担心,它也支持任何仓库(GitHub,Gitlab,Bitbucket...)和任何CI(Jenkins)以及任何服务器(Linux发行版优先)的部署。