GithubHelp home page GithubHelp logo

folded-php / orm Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 90 KB

An ORM for you web app.

Home Page: https://packagist.org/packages/folded/orm

License: MIT License

PHP 98.56% Dockerfile 1.44%
eloquent laravel orm php

orm's People

Contributors

khalyomede avatar

Stargazers

 avatar

Watchers

 avatar  avatar

orm's Issues

Mark DatabaseConnection class as final

Description

The class DatabaseConnection is not meant to be extended. Mark it as final.

Proposal

The class DatabaseConnection is marked as final.

Worarkound solutions

None.

Notes

None.

Missing namespace in function_exists call

Description

When the code loads functions, it should detect the existance of the function under the namespace instead of just the name of the function

Expected behavior

The call of function_exists() use the full qualified namespace.

namespace Folded;

if (!function_exists("Folded\theFunction")) {
  // load the function now
}

Actual behavior

Functions declared twice enters in collision.

Alternatives solutions

None.

Add static analysis in the test command

Description

Static analysis helps catching bugs earlier.

Proposal

  • Using phpstan/phpstan and run the command after the test command: pest --coverage && phpstan analyse src
  • Use the level 8 for a maximum of consistency
  • Use a phpstan.neon configuration file

Worarkound solutions

None.

Notes

None.

Add a simpler way to go to a specific page after paginated a model

Description

Currently, we have to use a verbose code to access a specific page using the paginate method.

Expected behavior

Some kind of method to easily go to a specific page:

$posts = Post::toPage($_GET["page"] ?? 1)->paginate(15);

Actual behavior

A verbose code is needed:

$posts = Post::paginate(15, ['*'], 'page', $_GET["page"] ?? 1);

Alternatives

Notes

Calling paginate method on a model will raise an error

Description

Calling ->paginate(15) on a model will raise an error.

Reproduce the issue

Use method ->paginate(15) method on a model.

// app/Post.php
namespace App;

use Folded\Model;

class Post extends Model {}
// index.php
use App\Post;

Post::paginate(15);

Expected behavior

The model returns an iterable with pagination feature as per the Laravel Eloquent's Pagination documentation.

Actual behavior

This error is raised:

Uncaught Error: Class 'Illuminate\Pagination\Paginator' not found

Alternatives solutions

Limiting results, and using ->offset() manually to simulate a pagination.

Notes

Add issues templates for both bugs and enhancements

Description

There is no templates for bugs and enhancements, which can reduce the chances someone will want to describe his issue or can make difficult to format and clarify an issue without proper templates.

Expected behavior

Enhancements issue template

For an enhancements, the following sections (using level 2 title, ##) should be shown:

  • Description
  • Proposal
  • Workaround solutions
  • Notes

The text hints, using italic, should be shown below each of these titles (without the double quotes):

  • Description: "Give some context and motivation for the proposed solution."
  • Proposal: "The detail proposition. Can include code."
  • Worarkound solutions: "Mention every existing workaround you know that will solve the issue apart from the proposed solution."
  • Notes: "Add everything that relates the proposal, like future induced issues, related issues, ..."

Bug issue template

For a bug, the following sections (using level 2 title, ##) should be shown:

  • Description
  • Steps to reproduce the issue
  • Expected behavior
  • Workaround solutions
  • Notes

The text hints, using italic, should be show below each of these titles (without the double quotes):

  • Description: "Any information that can give more understanding about how you came to this issue."
  • Steps to reproduce the issue: "Detail precisely how we can reproduce the issue from a blank new project (if possible)."
  • Expected behavior: "Describe what the output or the behavior should be instead of the issue you have."
  • Workaround solutions: "Mention every existing workaround you know that will solve the issue."
  • Notes: "Add everything that relates the proposal, like related issues, ..."

Alternatives solutions

To write by hand the issue layout.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.