GithubHelp home page GithubHelp logo

folded-php / view Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 128 KB

View utilities for your PHP web app.

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

License: MIT License

PHP 97.43% Dockerfile 2.35% Hack 0.05% Blade 0.18%
blade-template laravel php view

view's People

Contributors

khalyomede avatar

Watchers

 avatar  avatar

view's Issues

Upgrade to folded/exception 0.3

Description

The package folded/exception as released version 0.3.

Expected behavior

This package uses folded/exception 0.3.

Actual behavior

This package uses folded/exception 0.1.

Alternatives solutions

None.

Notes

Function to get a rendered HTML view content

Description

To send emails, I would like to use Blade. Currently, displayView will not return the HTML content.

Proposal

A new function to get the rendered, HTML content from a given view.

use function Folded\getRenderedView;

$html = getRenderedView("emails.account-created");

Worarkound solutions

None.

Notes

None.

Add a way to always pass data to a certain layout

Description

I am always passing the company name in each of the views that extends a base layout that displays this company name in the header.

I would prefer describing that this layout always need this company name, in order to free my other views from constantly adding this value.

Expected results

To be able to pass data to a certain layout or view.

use function Folded\addDataToView;
use function Folded\getConfig; // composer require folded/config

addDataToView("layouts.base", [
  "companyName" => getConfig("company.name"),
]);

Current behavior

I have to pass the company name in all of the views that extends my base layout.

Current alternatives

Passing data in all of the views that extends my base layout.

Notes

The solution seen in Laracasts forum using classic Laravel View facade.

Upgrade to folded/exception 0.4.0

Description

This package use an old version of folded/exception.

Proposal

Upgrade to folded/exception:0.4.*

Worarkound solutions

Notes

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 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.

To be able to get a route URL from its route name

Description

Currently we duplicate the route URL both in the addGetRoute() method and in the view. A system associating a route with its name to be able to get the URL by the route name instead.

Expected behavior

To be able to register an optional name for the route:

use function Folded\addGetRoute;

addGetRoute("/", function() {}, "home.index");

To be able to get an URL by the route name:

use function getRouteUrl;
echo getRouteUrl("home.index"); // string (1) "/"

Actual behavior

No method to get an URL from the route name.

Alternatives solutions

Duplicating the URLs in the routes registration file and the view.

Notes

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.

Mark class View as final

Description

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

Proposal

The View class is marked as final.

Worarkound solutions

None.

Notes

None.

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.