Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Todo List
Global AbstractCarrierOnline::rollBack ($data)
implement rollback logic @SuppressWarnings(PHPMD.UnusedFormalParameter) @api
Global AbstractCollection::delete ()
make batch delete directly from collection
Global AbstractCollection::joinAttribute ($alias, $attribute, $bind, $filter=null, $joinType='inner', $storeId=null)
connect between joined attributes of same entity
Global AbstractCollection::save ()
make batch save directly from collection
Global AbstractConfig::isMethodActive ($method)
: refactor this @SuppressWarnings(PHPMD.CyclomaticComplexity)
Global AbstractStorage::getConnection ()
: make method protected
Global Add::execute ()
remove wishlist observer \Magento\Wishlist\Observer\AddToCart
Class ArrayInterface
Remove in favor of the ancestor interface
Global ArrayUtilsTest::ksortMultibyteDataProvider ()
implement provider with values which different depends on locale
Global Attribute::_beforeSave (AbstractModel $object)
need use default source model of entity type !!!
Global Blanknumber::_getValue (\Magento\Framework\DataObject $row)
may be bug in i.e. needs to be fixed
Global Category::__toArray ()
refactor with converter for AbstractExtensibleModel
Global Category::getAttributes ($noDesignAttributes=false)
Use with Flat Resource @SuppressWarnings(PHPMD.UnusedLocalVariable)
Global Collection::add (AbstractElement $element, $after=false)
get it straight with $after
Class Compression
re-implement as a cache frontend decorator similarly to \Magento\Framework\Cache\Frontend\Decorator*
Class Context

Reduce fields number

Reduce class dependencies

Global Context::__construct (Request $request, ManagerInterface $eventManager, UrlInterface $urlBuilder, TranslateInterface $translator, Cache $cache, DesignInterface $design, SessionManager $session, ScopeConfigInterface $scopeConfig, FrontControllerInterface $frontController, ViewConfig $viewConfig, CacheState $cacheState, Logger $logger, AppState $appState, LayoutInterface $layout)
reduce parameter number
Class Datetime
date format
Global Dbp::move ($node, $newParent, $prevNode=null)
Use adapter for generate conditions
Global DefaultLocator::getDefaultCurrency (\Magento\Framework\App\RequestInterface $request)
: Refactor to ScopeDefiner
Global DesignTest::testCollection ()
fix and add addStoreFilter method
Global DownloadableTest::testExport ($fixtures, $skus, $skippedAttributes=[], $rollbackFixtures=[])
remove after MAGETWO-38240 resolved
Global DownloadableTest::testImportDelete ($fixtures, $skus, $skippedAttributes=[], $rollbackFixtures=[])
remove after MAGETWO-38240 resolved
Global DownloadableTest::testImportReplace ($fixtures, $skus, $skippedAttributes=[], $rollbackFixtures=[])
remove after MAGETWO-38240 resolved
Global Element::descend ($path)

Do we need to make it xpath look-a-like?

Check if we still need all this and revert to plain XPath if this makes any sense

param string $path Subset of xpath. Example: "child/grand[@attrName='attrValue']/subGrand"

Global Filesystem::compile (OutputInterface $output)
eliminate exec
Global Filesystem::deployStaticContent (OutputInterface $output)
eliminate exec
Class Filter
Need to remove after fixing the issue
Global FilterTest::testPrepareForm ()
to implement it.
Class Form
methodCode should be set in constructor, than this form should be eliminated
Global FormTest::testPrepareForm ()
to implement it.
Global Ftp::mkdir ($dir, $mode=0777, $recursive=true)
implement $mode and $recursive
Global Helper::normalize (array $productData)
Remove this method
Global ImportTest::testGetEntity ()
to implement it.
Global ImportTest::testGetEntityBehaviors ()
to implement it.
Global ImportTest::testGetErrorsCount ()
to implement it.
Global ImportTest::testGetErrorsLimit ()
to implement it.
Global ImportTest::testGetInvalidRowsCount ()
to implement it.
Global ImportTest::testGetNotices ()
to implement it.
Global ImportTest::testGetOperationResultMessages ()
to implement it.
Global ImportTest::testGetProcessedEntitiesCount ()
to implement it.
Global ImportTest::testGetProcessedRowsCount ()
to implement it.
Global ImportTest::testGetUniqueEntityBehaviors ()
to implement it.
Global ImportTest::testGetWorkingDir ()
to implement it.
Global ImportTest::testIsImportAllowed ()
to implement it.
Global ImportTest::testUploadSource ()
to implement it.
Global Index::execute ()
eliminate usage of exit statement
Global Link::__toArray ()
refactor with converter for AbstractExtensibleModel
Namespace Magento\Catalog\Model\Template
Needs to be reimplemented to get rid of the copypasted methods
Namespace Magento\Framework\App\Cache\Type
utilize the class for all manipulations with the cache type
Namespace Magento\ImportExport\Test\Unit\Model\Import
Fix tests in the scope of https://wiki.magento.com/display/MAGE2/Technical+Debt+%28Team-Donetsk-B%29
Global Menu::_columnBrake ($items, $limit)
: Add Depth Level limit, and better logic for columns
Global Method::_getUsps ()
change to 'Priority Mail' when usps config is updated
Class PayflowConfig
ELiminate current configuration class
Global Price::getTotalPrices ($product, $which=null, $includeTax=null, $takeTierPrice=true)
CatalogInventory Show out of stock Products
Global Product::__toArray ()
refactor with converter for AbstractExtensibleModel
Global Product::getAttributeInputTypes ($inputType=null)
specify there all relations for properties depending on input type
Global Product::validate ()
implement full validation process with errors returning which are ignoring now
Class ProductAttributeMediaGalleryManagementInterface
implement this interface as a \Magento\Catalog\Model\Product\Attribute\Media\GalleryManagement. Move logic from service there. @api
Global Request::getHttpHost ($trimPort=true)
getHttpHost should return only string (currently method return boolean value too)
Class Session
implement solution that keeps is_first_visit flag in session during redirects @api
Global Shipping::collectRates (\Magento\Quote\Model\Quote\Address\RateRequest $request)
make it ordered
Global Shortcut::_beforeToHtml ()
refactor checkout model. Move getCheckoutShortcutImageUrl to helper or separate model
Global Topmenu::_columnBrake ($items, $limit)
: Add Depth Level limit, and better logic for columns
Class Transaction
need collect connection by name
Class TranslateInterface
change this interface when i18n-related logic is moved to library
Class Type
utilize the class for all manipulations with the cache type
Global ValidatorFile::validateContentLength ()
need correctly name
Global ValueInterface::isValueChanged ()
this method should be make as protected
Global Variable::getVariablesOptionArray ($withGroup=false)
: extract method as separate class
Global Zend_Config_Writer_FileAbstract::render ()
For 2.0 this should be redone into an abstract method.
Namespace Zend_Console_Getopt

Handle params with multiple values, e.g. –colors=red,green,blue Set value of parameter to the array of values. Allow user to specify the separator with Zend_Console_Getopt::CONFIG_PARAMETER_SEPARATOR. If this config value is null or empty string, do not split values into arrays. Default separator is comma (',').

Handle params with multiple values specified with separate options e.g. –colors red –colors green –colors blue should give one option with an array(red, green, blue). Enable with Zend_Console_Getopt::CONFIG_CUMULATIVE_PARAMETERS. Default is that subsequent options overwrite the parameter value.

Handle flags occurring multiple times, e.g. -v -v -v Set value of the option's parameter to the integer count of instances instead of a boolean. Enable with Zend_Console_Getopt::CONFIG_CUMULATIVE_FLAGS. Default is that the value is simply boolean true regardless of how many instances of the flag appear.

Handle flags that implicitly print usage message, e.g. –help

Handle freeform options, e.g. –set-variable Enable with Zend_Console_Getopt::CONFIG_FREEFORM_FLAGS All flag-like syntax is recognized, no flag generates an exception.

Handle numeric options, e.g. -1, -2, -3, -1000 Enable with Zend_Console_Getopt::CONFIG_NUMERIC_FLAGS The rule must specify a named flag and the '#' symbol as the parameter type. e.g., 'lines=#'

Enable user to specify header and footer content in the help message.

Feature request to handle option interdependencies. e.g. if -b is specified, -a must be specified or else the usage is invalid.

Feature request to implement callbacks. e.g. if -a is specified, run function 'handleOptionA'().

Global Zend_Db_Adapter_Mysqli::describeTable ($tableName, $schemaName=null)
use INFORMATION_SCHEMA someday when MySQL's implementation isn't too slow.
Global Zend_Db_Adapter_Mysqli::lastInsertId ($tableName=null, $primaryKey=null)
Return value should be int?
Global Zend_Db_Adapter_Oracle::describeTable ($tableName, $schemaName=null)
Discover integer unsigned property.
Global Zend_Db_Adapter_Oracle::setFetchMode ($mode)
Support FETCH_CLASS and FETCH_INTO.
Global Zend_Db_Adapter_Pdo_Abstract::setFetchMode ($mode)
Support FETCH_CLASS and FETCH_INTO.
Global Zend_Db_Adapter_Pdo_Ibm::_connect ()
also differentiate between z/OS and i/5
Global Zend_Db_Adapter_Pdo_Ibm::describeTable ($tableName, $schemaName=null)
Discover integer unsigned property.
Global Zend_Db_Adapter_Pdo_Mssql::describeTable ($tableName, $schemaName=null)

Discover column primary key position.

Discover integer unsigned property.

Global Zend_Db_Adapter_Pdo_Oci::describeTable ($tableName, $schemaName=null)
Discover integer unsigned property.
Global Zend_Db_Adapter_Pdo_Pgsql::describeTable ($tableName, $schemaName=null)
Discover integer unsigned property.
Global Zend_Db_Adapter_Sqlsrv::describeTable ($tableName, $schemaName=null)
Discover integer unsigned property.
Global Zend_Db_Adapter_Sqlsrv::setFetchMode ($mode)
Support FETCH_CLASS and FETCH_INTO.
Global Zend_Filter_Input::_validateRule (array $validatorRule)
according to this code default value can't be an array. It has to be reviewed
Global Zend_Filter_StripTags::filter ($value)
improve docblock descriptions
Global Zend_Http_Client::encodeAuthHeader ($user, $password, $type=self::AUTH_BASIC)
Implement digest authentication
Global Zend_Http_Cookie::__construct ($name, $value, $domain, $expires=null, $path=null, $secure=false)
Add validation of each one of the parameters (legal domain, etc.)
Global Zend_Http_CookieJar::fromResponse (Zend_Http_Response $response, $ref_uri)
Add the $uri functionality.
Global Zend_Http_Header_SetCookie::__construct ($name=null, $value=null, $expires=null, $path=null, $domain=null, $secure=false, $httponly=false, $maxAge=null, $version=null)
Add validation of each one of the parameters (legal domain, etc.)
Namespace Zend_Mail
Implement proxy settings
Global Zend_Mail::getDefaultTransport ()

Allow passing a string to indicate the transport to load

Allow passing in optional options for the transport to load

Global Zend_Mail::setDefaultTransport (Zend_Mail_Transport_Abstract $transport)

Allow passing a string to indicate the transport to load

Allow passing in optional options for the transport to load

Global Zend_Mail_Protocol_Smtp_Auth_Crammd5::auth ()
Perform CRAM-MD5 authentication with supplied credentials
Global Zend_Mail_Transport_Smtp::__construct ($host='127.0.0.1', Array $config=array())
Someone please make this compatible with the SendMail transport class.
Global Zend_Mail_Transport_Smtp::_sendMail ()
Rename this to sendMail, it's a public method...
Namespace Zend_Memory
also implement Countable for PHP 5.1 but not yet to stay 5.0 compatible
Global Zend_Memory_Container_Movable::lock ()
It's possible to set "value" container attribute to avoid modification tracing, while it's locked Check, if it's more effective
Global Zend_Mime::encode ($str, $encoding, $EOL=self::LINEEND)
7Bit and 8Bit is currently handled the same way.
Global Zend_Mime_Message::addPart (Zend_Mime_Part $part)
check for duplicate object handle
Global Zend_Mime_Message::createFromMessage ( $message, $boundary, $EOL=Zend_Mime::LINEEND)
check for characterset and filename
Global Zend_Mime_Part::isStream ()

setters/getters

error checking for setting $type

error checking for setting $encoding

Global Zend_Oauth_Http::startRequestCycle (array $params)
Remove cycling?; Replace with upfront do-or-die configuration
Namespace Zend_Pdf

Write code for Zend_Pdf_FontCmap_HighByteMapping class.

Write code for Zend_Pdf_FontCmap_MixedCoverage class.

Write code for Zend_Pdf_FontCmap_TrimmedArray class.

Write code for Zend_Pdf_FontCmap_SegmentedCoverage class.

implement lazy resource loading so resources will be really loaded at access time

Implement an ability to associate an outline item with a structure element (PDF 1.3 feature)

Implement an ability to associate an outline item with a structure element (PDF 1.3 feature)

Use Zend_Mime not file extension for type determination.

Global Zend_Pdf::_cleanUpAction (Zend_Pdf_Action $action, $refreshPageCollectionHashes=true)
Give appropriate name and make method public
Global Zend_Pdf::_dumpNamedDestinations ()
Create a balanced tree instead of plain structure.
Global Zend_Pdf::_dumpPages ()

atomatically attach page to the document, if it's not done yet.

check, that page is attached to the current document

Dump pages as a balanced tree instead of a plain set.

Global Zend_Pdf::pdfDate ($timestamp=null)

This really isn't the best location for this method. It should probably actually exist as Zend_Pdf_Element_Date or something like that.

Address the following E_STRICT issue: PHP Strict Standards: date(): It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.

Global Zend_Pdf_Annotation::load (Zend_Pdf_Element $resource)
implementation
Global Zend_Pdf_Canvas::getContents ()
implementation
Global Zend_Pdf_Canvas_Abstract::clipEllipse ($x1, $y1, $x2, $y2, $startAngle=null, $endAngle=null)
process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
Global Zend_Pdf_Canvas_Abstract::drawCanvas (Zend_Pdf_Canvas_Interface $canvas, $x1, $y1, $x2=null, $y2=null)
implementation
Global Zend_Pdf_Canvas_Abstract::drawEllipse ($x1, $y1, $x2, $y2, $param5=null, $param6=null, $param7=null)
process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
Global Zend_Pdf_Canvas_Abstract::drawLayoutBox ($box, $x, $y)
implementation
Global Zend_Pdf_Canvas_Abstract::pathClose ()
implementation
Global Zend_Pdf_Canvas_Abstract::pathLine ($x, $y)
implementation
Global Zend_Pdf_Canvas_Abstract::pathMove ($x, $y)
implementation
Global Zend_Pdf_Canvas_Abstract::saveGS ()
check for the open paths
Global Zend_Pdf_Canvas_Interface::clipEllipse ($x1, $y1, $x2, $y2, $startAngle=null, $endAngle=null)
process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
Global Zend_Pdf_Canvas_Interface::drawEllipse ($x1, $y1, $x2, $y2, $param5=null, $param6=null, $param7=null)
process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
Global Zend_Pdf_Element::makeClone (Zend_Pdf_ElementFactory $factory, array &$processed, $mode)
It's nevessry to check if SplObjectStorage class works faster (Needs PHP 5.3.x to attach object with additional data to storage)
Global Zend_Pdf_ElementFactory::newObject (Zend_Pdf_Element $objectValue)
Reusage of the freed object. It's not a support of new feature, but only improvement.
Global Zend_Pdf_ElementFactory::newStreamObject ($streamValue)
Reusage of the freed object. It's not a support of new feature, but only improvement.
Global Zend_Pdf_ElementFactory_Interface::newObject (Zend_Pdf_Element $objectValue)
Reusage of the freed object. It's not a support of new feature, but only improvement.
Global Zend_Pdf_ElementFactory_Interface::newStreamObject ($streamValue)
Reusage of the freed object. It's not a support of new feature, but only improvement.
Global Zend_Pdf_ElementFactory_Proxy::newObject (Zend_Pdf_Element $objectValue)
Reusage of the freed object. It's not a support of new feature, but only improvement.
Global Zend_Pdf_ElementFactory_Proxy::newStreamObject ($streamValue)
Reusage of the freed object. It's not a support of new feature, but only improvement.
Global Zend_Pdf_FileParser::readStringUTF16 ($byteCount, $byteOrder=Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN, $characterSet='')

Consider changing $byteCount to a character count. They are not always equivalent (in the case of surrogates).

Make $byteOrder optional if there is a byte-order mark (BOM) in the string being extracted.

Global Zend_Pdf_FileParser_Font::readStringUTF16 ($byteCount, $byteOrder=Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN, $characterSet='')
Deal with to-dos in the parent method.
Global Zend_Pdf_FileParser_Font_OpenType::_parseCmapTable ()
Need to rework the selection logic for picking a subtable. We should have an explicit list of preferences, followed by a list of those that are tolerable. Most specifically, since everything above this layer deals in Unicode, we need to be sure to only accept format 0 MacRoman tables.
Global Zend_Pdf_FileParser_Font_OpenType::_parseOs2Table ()

Font is recognized as Adobe Latin subset font if it only contains Basic Latin characters (only bit 0 of Unicode range bits is set). Actually, other Unicode subranges like General Punctuation (bit 31) also fall into Adobe Latin characters. So this code has to be modified.

Obtain the x and capital heights from the 'glyf' table if they haven't been supplied here instead of storing zero.

Global Zend_Pdf_FileParser_Font_OpenType::parse ()

Add parser for kerning pairs.

Add parser for ligatures.

Add parser for other useful hinting tables.

Global Zend_Pdf_Font::fontWithName ($name, $embeddingOptions=0)
It would be cool to be able to have a mapping of font names to file paths in a configuration file for frequently used custom fonts. This would allow a user to use custom fonts without having to hard-code file paths all over the place. Table this idea until Zend_Config is ready.
Global Zend_Pdf_Image::imageWithPath ($filePath)
switch to new implementation
Global Zend_Pdf_Page::__construct ($param1, $param2=null, $param3=null)

support of user defined pagesize notations, like: "210x297mm", "595x842", "8.5x11in", "612x792"

support of pagesize recalculation to "default user space units"

Global Zend_Pdf_Page::flush ()
Don't forget to close all current graphics operations (like path drawing)
Global Zend_Pdf_Page::getContents ()
implementation
Global Zend_Pdf_Page::render (Zend_Pdf_ElementFactory_Interface $objFactory)
Don't forget to close all current graphics operations (like path drawing)
Global Zend_Pdf_Parser::__construct ($source, Zend_Pdf_ElementFactory_Interface $factory, $load)
To support PDF versions 1.5 (Acrobat 6) and PDF version 1.7 (Acrobat 7) Stream compression filter must be implemented (for compressed object streams). Cross reference streams must be implemented
Global Zend_Pdf_Resource::__clone ()
implementation
Global Zend_Pdf_Resource::cloneResource ($factory, &$processed)
implementation
Global Zend_Pdf_Resource_Font_CidFont::getCoveredPercentage ($string, $charEncoding='')
Properly handle characters encoded as surrogate pairs.
Global Zend_Pdf_Resource_Font_CidFont_TrueType::__construct (Zend_Pdf_FileParser_Font_OpenType_TrueType $fontParser, $embeddingOptions)
Joing this class with Zend_Pdf_Resource_Font_Simple_Parsed_TrueType
Global Zend_Pdf_Resource_Font_FontDescriptor::factory (Zend_Pdf_Resource_Font $font, Zend_Pdf_FileParser_Font_OpenType $fontParser, $embeddingOptions)
Calculate value for StemV.
Global Zend_Pdf_Resource_Font_Simple::__construct ()
It's easy to add other encodings support now (Standard-Encoding, MacRomanEncoding, PDFDocEncoding, MacExpertEncoding, Symbol, and ZapfDingbats). Steps for the implementation:
  • completely describe all PDF single byte encodings in the documentation
  • implement non-WinAnsi encodings processing into encodeString()/decodeString() methods
Global Zend_Pdf_Resource_Font_Simple::getCoveredPercentage ($string, $charEncoding='')
Properly handle characters encoded as surrogate pairs.
Global Zend_Pdf_Resource_Font_Simple_Standard_Symbol::encodeString ($string, $charEncoding)
Properly handle characters encoded as surrogate pairs.
Global Zend_Pdf_Resource_Font_Simple_Standard_ZapfDingbats::encodeString ($string, $charEncoding)
Properly handle characters encoded as surrogate pairs.
Global Zend_Pdf_Resource_Image_Png::__construct ($imageFileName)

Add compression conversions to support compression strategys other than PNG_COMPRESSION_DEFAULT_STRATEGY.

Add pre-compression filtering.

Add interlaced image handling.

Add support for 16-bit images. Requires PDF version bump to 1.5 at least.

Add processing for all PNG chunks defined in the spec. gAMA etc.

Fix tRNS chunk support for Indexed Images to a SMask.

Global Zend_Server_Interface::setPersistence ($mode)
Determine how to implement this
Global Zend_Soap_AutoDiscover::getType ($type)
Exception throwing may be more correct
Global Zend_Soap_Wsdl::__construct ($name, $uri, $strategy=true)
change DomDocument object creation from cparsing to construxting using API It also should authomatically escape $name and $uri values if necessary
Global Zend_Soap_Wsdl::setComplexTypeStrategy ($strategy)
Boolean is for backwards compability with extractComplexType object var. Remove it in later versions.
Global Zend_Soap_Wsdl_Strategy_DefaultComplexType::addComplexType ($type)
check if 'xsd:element' must be used here (it may not be compatible with using 'complexType' node for describing other classes used as attribute types for current class